Pandas,将列转换为整数,对于基数为10的int()无效



.dtypes显示"金额";列默认为对象

所以我试过了,

df['Amount'] = df['Amount'].astype(int)

我收到这个错误,

ValueError: invalid literal for int() with base 10: '3,448.91'

问题是您的列包含逗号(,(。首先将其替换为空字符串,然后将类型转换为int

df['Amount'] = df['Amount'].str.replace(',', '').astype(float)

如果您想四舍五入值并转换为int,请执行以下操作:

df['Amount'] = df['Amount'].str.replace(',', '').astype(float).round().astype(int)

最新更新