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

将Pandas中price列转换为整数时出错,请求技术协助

Pandas price列转整数错误的解决方案

常见问题及处理代码

1. 列含非数值符号(如$、逗号)

如果price是带格式的字符串,先清理再转换:

# 移除货币符号和千分位逗号
df['price'] = df['price'].replace(r'[\$,]', '', regex=True)
# 先转float再转int(处理小数转整数)
df['price'] = df['price'].astype(float).astype(int)

2. 列存在NaN值

Pandas原生int类型不支持NaN,两种处理方式:

# 方式1:用支持NaN的Nullable Integer类型
df['price'] = df['price'].astype(float).astype('Int64')
# 方式2:填充NaN为默认值(比如0)后转int
df['price'] = df['price'].fillna(0).astype(float).astype(int)

3. float列转int时因小数报错

先处理小数部分再转换:

# 四舍五入后转int
df['price'] = df['price'].round().astype(int)
# 或直接取整数部分(截断小数)
df['price'] = df['price'].astype(int, errors='ignore')

4. 排查异常数据

先定位问题行再处理:

import pandas as pd
# 查看列数据类型
print(df['price'].dtype)
# 筛选出无法转为数值的行
invalid_rows = df[pd.to_numeric(df['price'], errors='coerce').isna()]
print(invalid_rows)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:39:51