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

Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略推荐文章​​​​​​​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.concatunion_categoricals内存使用量转换df["col"].astype('category')输出结果

实现代码import pandas as pdimport numpy as np contents={"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'、strdata_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)

(0)

相关推荐