Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略

目录

数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化

知识点

1、category类型与object类型

输出结果

实现代码


推荐文章
​​​​​​​Python之pandas:在pandas中创建category类型数据的几种方法之详细攻略
ML之FE:将dataframe中的数据类型进行标准化

数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化

知识点

在pandas中,如果某个字段下,数据类型不一致导致整个字段类型不相同,可以进行字段类型转换!,在pandas中,进行数据类型转换非常简单,只需要使用astype函数即可!

1、category类型与object类型

  object类型(python中) category类型(pandas中特有)
简介

python是面向对象的语言。在python里面,一切皆为对象

在python中,

  • object类型,一般表示文本类型数据。
  • 有些难以被自动判别的数据类型,或者由不止一种数据类型组成;由于Python一切皆对象,因此都会被处理为最宽泛的"对象"也就是object类型数据。
  • 其实,在数据分析中,有时候会遇到某个字段的数据类型与初始设置的不相符,此时,就要去分析是否是数据不规整造成的。
  • category是 pandas 的一种数据类型,对应着被统计的变量。它实际上是动态枚举的一种形式。如果某个字段的内容中,其可能值的范围是固定且有限的,则category类型数据最为适用;
  • category是由固定的且有限数量的变量组成的。比如:性别、血型、等级等;
  • category类型数据的每一个元素的值,要么是预设好的类型中的某一个,要么是空值(np.nan);
  • 在比较大的数据集中,可以通过使用category类型数据来加快速度!
属性 具有object类型数据的基本属性。
  • .describe()
  • .cat.categories  
  • .cat.rename_categories  
  • .value_counts()
  • .str 属性  
  • pd.concat
  • union_categoricals   
  • 内存使用量
转换 df["col"].astype(‘category‘)

输出结果

实现代码

import pandas as pd
import numpy as npcontents={"name": ['Bob',        'LiSa',                     'Mary',                       'Alan'],"ID":   [1,              2,                         ' ',                          None],    # 输出 NaN"age":  [np.nan,        28,                           38 ,                          '' ],   # 输出 "age02":  [14,           26,                           24 ,                          6], "born": [pd.NaT,     pd.Timestamp("1990-01-01"),  pd.Timestamp("1980-01-01"),        ''],     # 输出 NaT"sex":  ['男',          '女',                        '女',                        None,],   # 输出 None"hobbey":['打篮球',     '打羽毛球',                   '打乒乓球',                    '',],   # 输出 "money":[200.0,                240.0,                   290.0,                     300.0],  # 输出"weight":[140.5,                120.8,                 169.4,                      155.6],  # 输出"test01":[1,    2.123456789,        3.123456781011126,   4.123456789109999],    # 输出"test02":[1,    2.123456789,        3.123456781011126,   4.123456789109999],    # 输出}
data_frame = pd.DataFrame(contents)print('Init-------------------------------')
print(data_frame.dtypes)
print(data_frame)# 将dataframe格式中的数据类型转为object数据类型
data_frame['test02'] = data_frame['test02'].astype('object')   # 关键字bool,'object'、'category'、str
data_frame['test02'] = data_frame['test02'].apply(str)
data_frame.to_excel("data_demo.xls")print('after astype-------------------------------')
print(data_frame.dtypes)
print(data_frame)
data_frame_temp=data_frame.copy()# ML之FE:将dataframe中的数据类型进行标准化
print('after Categorical-------------------------------')
data_frame=cols2DfCatAndNum(data_frame)
print(data_frame.dtypes)

Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略相关推荐

  1. Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介、数据类型转换四大方法、案例应用之详细攻略

    Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介.数据类型转换四大方法.案例应用之详细攻略 目录 特征工程中数据 ...

  2. Python之pandas:pandas中常见的数据类型转换四大方法以及遇到的一些坑之详细攻略

    Python之pandas:pandas中常见的数据类型转换四大方法以及遇到的一些坑之详细攻略 目录 pandas中常见的数据类型转换方法 T1.读取时直接转换数据类型 T2.采用astype

  3. Python之pandas:对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略

    Python之pandas:对pandas中dataframe数据中的索引输出.修改.重命名等详细攻略 目录 对pandas中dataframe数据中的索引输出.修改.重命名等详细攻略 知识点学习 输 ...

  4. Python之sklearn:GridSearchCV()和fit()函数的简介、具体案例、使用方法之详细攻略

    Python之sklearn:GridSearchCV()和fit()函数的简介.具体案例.使用方法之详细攻略 目录 GridSearchCV()和fit()函数的使用方法 GridSearchCV( ...

  5. Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略

    Python语言学习之图表可视化:python语言中可视化工具包的简介.安装.使用方法.经典案例之详细攻略 目录 python语言中可视化工具包的简介 python语言中可视化工具包的安装 pytho ...

  6. Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...

  7. Python语言学习之字母S开头函数使用集锦:set/sys/super用法之详细攻略

    Python语言学习之字母S开头函数使用集锦:set/sys/super用法之详细攻略 set用法 set顾名思义是集合,里面不能包含重复的元素,接收一个list作为参数 list1=[1,2,3,4 ...

  8. Py之urllib2:Python库之urllib、urllib2、urllib3系列简介、安装、使用方法之详细攻略

    Py之urllib2:Python库之urllib.urllib2.urllib3系列简介.安装.使用方法之详细攻略 目录 urllib2简介 urllib2安装 urllib2使用方法 urllib ...

  9. Python之pip:pip包管理工具的简介、安装、使用方法之详细攻略

    Python之pip:pip包管理工具的简介.安装.使用方法之详细攻略 目录 pip的简介 pip的安装 1.测试pip是否已安装 T1.代码查询 T2.自行查询

最新文章

  1. 人脸检测对齐--Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
  2. 苹果免费Mac OS X和办公软件动了谁的奶酪
  3. BLE-NRF51822教程5-静态密码设置
  4. 节能原理 复习(能量平衡+热电联产+联合循环)
  5. RMAN 的备份保留策略
  6. 网络与IO知识扫盲(一):Linux虚拟文件系统,文件描述符,IO重定向
  7. UFLDL 教程学习笔记(三)自编码与稀疏性
  8. JSON-B非对称属性绑定
  9. 关于表情符号与UTF-8的探讨
  10. YurunOAuthLogin v2.0.2,第三方 OAuth2 授权一把梭
  11. Docker-构建/启停容器镜像及常用命令介绍
  12. Axure 免费UI元件库
  13. C语言_写简易吃豆人小游戏
  14. PowerBuilder2017
  15. “私域”和“会员制”有什么区别?
  16. linux的makefile -I(大写i)-L(大写l)-l(小写l)
  17. 好消息:GAX/GAT February 2008 Final Release
  18. 2022 年 GIS 就业状况
  19. RED GIANT-2023版本更新内容介绍
  20. UNITY设计一款简单的3d射击小游戏(虚拟现实大作业)

热门文章

  1. AJAX-prototype.js实现Ajax
  2. 计算机更新要联网吗,解决steam需要在线进行更新。请确认您的网络连接正常的方法...
  3. ubuntu9.10上安装jdk5
  4. Android中activity传值的两种方式
  5. 常用的一些注入命令,方便一下大家哦
  6. Python 中名词
  7. 40岁了,还要跟小年青一样埋头敲代码吗?
  8. 程序员职场的出路在哪里
  9. 聊聊引用和 ThreadLocal 那些事儿
  10. C++中const用于函数重载