You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas含None的字符串列转整数失败问题咨询

解决方案

问题根源

  1. 列名引用错误:你的代码中df[column]缺少引号,应写成df['column'](若column不是预先定义的变量),否则无法正确选中目标列,原列数据根本没被修改。
  2. 字符串"None"未被识别:列中的"None"是字符串字面量,不是Python原生的None对象,pd.to_numeric无法自动将其判定为缺失值。

修正步骤与代码

先把字符串"None"替换为Pandas能识别的缺失值,再执行类型转换:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({'column': ['1', '2', 'None']})

# 1. 将字符串"None"替换为Pandas缺失值pd.NA
df['column'] = df['column'].replace('None', pd.NA)
# 2. 转换为数值类型,填充缺失值为0,最后转为int类型
df['column'] = pd.to_numeric(df['column'], errors='coerce').fillna(0).astype(int)

# 验证结果
print(df.dtypes)
print(df)

运行结果

column    int32
dtype: object
   column
0       1
1       2
2       0

一步到位写法

如果想简化代码,可以合并为一行:

df['column'] = pd.to_numeric(df['column'].replace('None', pd.NA), errors='coerce').fillna(0).astype(int)

内容的提问来源于stack exchange,提问作者Avenger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:42:38