数据转换

作者: 发布时间:2021-02-01 14:09

    数据分析前我们就需要对数据分配好适合的类型,这才能理工高效地处理数据,不用的数据类型可以用不同的处理方法。


指定数据类型:

df = pd.DataFrame(data, dtype='float32') # 对所的字段指定类型
 # 每个字段分别指定
df = pd.read_excel(data, dtype={'team': 'string', 'Q1': 'int32'})


自动获得类型:

# 自动转换合适的数据类型
df.convert_dtypes() # 推荐!新的方法,支持 string 类型
df.infer_objects()

# 按大体类型推定
m = ['1', 2, 3]
s = pd.to_numeric(s) # 转成数字
pd.to_datetime(m) # 转成时间
pd.to_timedelta(m) # 转成时差
pd.to_datetime(m, errors='coerce') # 错误处理
pd.to_numeric(m, errors='ignore')
pd.to_numeric(m errors='coerce').fillna(0) # 兜底填充
pd.to_datetime(df[['year', 'month', 'day']]) # 组合成日期

# 最低期望
pd.to_numeric(m, downcast='integer') # smallest signed int dtype
# array([1, 2, 3], dtype=int8)
pd.to_numeric(m, downcast='signed') # same as 'integer'
# array([1, 2, 3], dtype=int8)
pd.to_numeric(m, downcast='unsigned') # smallest unsigned int dtype
# array([1, 2, 3], dtype=uint8)
pd.to_numeric(m, downcast='float') # smallest float dtype
# array([1., 2., 3.], dtype=float32)

# 应用函数
df.apply(pd.to_timedelta)


数据类型转换:

见下表


DataFrame数据转换

函数描述操作
T属性行列数据对调 编辑 删除
astype()转换数据类型 编辑 删除
dtypes数据类型 编辑 删除
CategoricalDtypePandas 特有类型,有限字符枚举 编辑 删除
DatetimeTZDtypePandas 特有类型,带有时区的日期时间 编辑 删除

标签:
Copyright © 2020 万物律动 旗下 AI算法狮 京ICP备20010037号-1
本站内容来源于网络开放内容的收集整理,并且仅供学习交流使用;
如有侵权,请联系删除相关内容;