问题描述
如何将对象dtype结构转换为字符串dtype?下面的方法不起作用,用.astype
How can I convert an object dtype structure to a string dtype? The method below is not working and the column remains object
after converting to a string with .astype
import pandas as pd
df = pd.DataFrame({'country': ['A', 'B', 'C', 'D', 'E']})
df.dtypes
#country object
#dtype: object
df['county'] = df['country'].astype(str)
df.dtypes
#country object
#dtype: object
推荐答案
object
是能够容纳字符串或dtypes的任意组合的默认容器.
object
is the default container capable of holding strings, or any combination of dtypes.
如果您使用的是熊猫版本< '1.0.0'
这是您唯一的选择.如果您使用的是pd.__version__ >= '1.0.0'
,则可以使用新的实验性pd.StringDtype()
dtype .作为实验,行为在将来的版本中可能会有所更改,因此使用后果自负.
If you are using a version of pandas < '1.0.0'
this is your only option. If you are using pd.__version__ >= '1.0.0'
then you can use the new experimental pd.StringDtype()
dtype. Being experimental, the behavior is subject to change in future versions, so use at your own risk.
df.dtypes
#country object
# .astype(str) and .astype('str') keep the column as object.
df['country'] = df['country'].astype(str)
df.dtypes
#country object
df['country'] = df['country'].astype(pd.StringDtype())
df.dtypes
#country string
这篇关于将对象数据类型转换为python中的字符串问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!