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

pandas如何将指定列中的非数字值转换为nan

pandas将指定列非数字值转换为NaN的实现方法

你可以直接使用pandas内置的pd.to_numeric()函数实现需求,只需要指定错误处理参数为coerce,就会自动将无法转换为数字的内容替换为NaN。

核心代码

import pandas as pd

# 假设你的DataFrame已经读取/构造完成,执行这一行即可
df['price'] = pd.to_numeric(df['price'], errors='coerce')

完整可运行示例

针对你给出的测试数据,完整执行代码如下:

import pandas as pd
import io

# 读取示例数据
csv_data = """ID, name, qty, price 
1, pen, 4, 55
2, book, 5, ai
3, PENCIL, 5, 100
4, book2, 10, si
"""
df = pd.read_csv(io.StringIO(csv_data), skipinitialspace=True)

# 转换price列,非数字自动转为NaN
df['price'] = pd.to_numeric(df['price'], errors='coerce')

# 输出结果验证
print(df)

运行后输出的price列就会符合你的预期,非数字的ai、si都会被替换为NaN。

补充说明

如果你的实际数据中price列存在带特殊符号的数字(比如人民币符号、千位分隔逗号等),可以先做字符串清洗去除无关符号后,再执行上述转换逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:54:03