如果某一列的数据类型显示为object
,但实际存储的是数字型数据,通常有以下两种可能原因:
1.该列包含了非数字型的数据或者缺失值(例如NaN),导致该列类型被自动解析为了object
类型。在这种情况下,需要将该列中的非数字型数据或者缺失值进行处理或替换后,再将该列数据类型转换为数字型(例如int、float)。
2.该列中存储的确实是数值型数据,但是读入数据时没有成功地解析出数据类型。这种情况下,通常可以使用函数pd.to_numeric()
对该列进行强制类型转换,以将该列数据类型转换为数字型。
# 将df中的列col1从object类型转换为float类型:
df['col1'] = pd.to_numeric(df['col1'], errors='coerce')
修改前后对比
object转化float成功
我为什么要执着转化类型呢
因为我用decribe查看数据信息的时候,object会产生unique的结果,我想要的是最大值最小值标准差的结果。