我有一个数据框my_df:
my_df.dtypes
time int64
fieldA object
fieldB object
fieldC object
fieldD object
fieldE object
dtype: object
我尝试通过执行以下操作将fieldB和fieldC更改为类型字符串:
my_df[['fieldB','fieldC']] = my_df[['fieldB','fieldC']].astype(str)
完成上述操作后,我尝试再次运行my_df.dtypes
,但没有更改为字符串......
有谁知道我错过了什么?谢谢!
答案 0 :(得分:1)
Pandas只有一些主要处理数值的特定数据类型。对于其他所有内容,它使用object
类型。字符串适合后一类,因此您的数据很可能已经是字符串,即使数据类型列为object
。
documentation中列出了不同的类型:
pandas对象中存储的主要类型是
float
,int
,bool
,datetime64[ns]
和datetime64[ns, tz]
(> = 0.17.0),timedelta[ns]
,category
(> = 0.15.0)和object
。