在pandas

时间:2016-11-09 22:59:05

标签: python python-2.7 pandas dataframe

我有一个数据框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,但没有更改为字符串......

有谁知道我错过了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

Pandas只有一些主要处理数值的特定数据类型。对于其他所有内容,它使用object类型。字符串适合后一类,因此您的数据很可能已经是字符串,即使数据类型列为object

documentation中列出了不同的类型:

  

pandas对象中存储的主要类型是floatintbool,   datetime64[ns]datetime64[ns, tz](> = 0.17.0),timedelta[ns],   category(> = 0.15.0)和object