首页 > 解决方案 > Pandas DataFrame 错误:ValueError:StringArray 需要一系列字符串或 pandas.NA

问题描述

尝试将 kaggle titanic 数据集 pclass 列数据类型从 int 转换为 string。使用熊猫 1.0.5。

df.Pclass.head()
0    3
1    1
2    3
3    1
4    3
Name: Pclass, dtype: int64

代码如下:

df['Pclass'] = df['Pclass'].astype('string')

抛出的错误如下:

ValueError: StringArray requires a sequence of strings or pandas.NA

注意:这第一次有效,不确定从第二次开始会一直收到此错误。

标签: python-3.xstringtypesint

解决方案


下面的代码有效。由于 pandas >= 1.0,他们建议使用字符串而不是 str。但是如果源是数字,那么我们可以使用 str 而不是 string 来工作。

df['Pclass'] = df['Pclass'].astype('str')

推荐阅读