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

使用pandas的astype方法转换列数据类型时出现ValueError如何解决

问题原因

核心错误在报错最后一行:ValueError: invalid literal for int() with base 10: '1,200',含义是你要转换为整数的字符串里包含Python int类型无法识别的字符:这里是千位分隔符逗号,即1,200里的,,所以转换失败。

修复方案

先把Price列里的千位逗号全部替换为空,再做类型转换即可:

# 替换所有千位分隔符逗号,再转换为整数
df['Price'] = df['Price'].str.replace(',', '').astype(int)

如果你的数据里还存在空值、其他非数字字符的情况,可使用更兼容的写法,转换失败的内容会被标记为缺失值,后续再单独处理异常值即可:

import pandas as pd
import numpy as np

df['Price'] = pd.to_numeric(df['Price'].str.replace(',', ''), errors='coerce').astype('Int64')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:57:03