问题:如何修复 int() 的无效文字,在 pandas 中出现基数为 10 的错误

这是每当我尝试将数据帧转换为 int 时出现的错误。

("invalid literal for int() with base 10: '260,327,021'", '发生在索引 Population1'

df 中的所有内容都是一个数字。我认为错误是由于末尾的额外引号引起的,但我该如何解决?

解答

我运行这个

int('260,327,021')

得到这个


ValueError Traceback(最近一次调用最后一次)

<模块>()中的<ipython-input-448-a3ba7c4bd4fe>

----> 1 个整数('260,327,021')

ValueError: int() 以 10 为底的无效文字:'260,327,021'

我向您保证,并非数据框中的所有内容都是数字。它可能看起来像一个数字,但它是一个带有逗号的字符串。

您需要替换逗号,然后转到int

pd.Series(['260,327,021']).str.replace(',', '').astype(int)

0    260327021
dtype: int64
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐