python-3.x - 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
注意:这第一次有效,不确定从第二次开始会一直收到此错误。
解决方案
下面的代码有效。由于 pandas >= 1.0,他们建议使用字符串而不是 str。但是如果源是数字,那么我们可以使用 str 而不是 string 来工作。
df['Pclass'] = df['Pclass'].astype('str')
推荐阅读
- typescript - 对象文字的“不可分配给类型参数”错误
- node.js - 如何允许节点在 Ubuntu 18.04 上监听 1024 以下的端口?
- c# - 在 ASP.NET Core MVC 的视图中格式化日期
- angular - 使用 Angular 6 在 Highcharts 中进行一般绘图
- php - 将原始数据从 PHP 服务器 API 发送到 Swift 客户端 API
- python-3.x - 创建一个从每个数组中减去的python公式
- java - 使用来自editText android的数据创建Pdf
- php - 当响应为 JSON 且字段包含数字时,模型访问器不起作用
- java - 如何在其他类中传递类的值?
- android - 如何让 Chrome 支持的 webview 颤动?