这是每当我尝试将数据帧转换为 int 时出现的错误。
(“int() 以 10 为基数的无效文字:'260,327,021'”,'发生在索引 Population1'
df 中的所有内容都是数字。我认为错误是由于最后的额外报价造成的,但我该如何解决?
最佳答案
我运行这个
int('260,327,021')
得到这个
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-448-a3ba7c4bd4fe> in <module>() ----> 1 int('260,327,021') ValueError: invalid literal for int() with base 10: '260,327,021'
我向您保证,并非数据框中的所有内容都是数字。它可能看起来像一个数字,但它是一个包含逗号的字符串。
您需要替换逗号,然后转到
int
pd.Series(['260,327,021']).str.replace(',', '').astype(int)
0 260327021
dtype: int64
关于python-2.7 - 如何在 Pandas 中使用 base 10 错误修复 int() 的无效文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43858595/