python-2.7 - 如何在 Pandas 中使用 base 10 错误修复 int() 的无效文字

标签 python-2.7 pandas int jupyter-notebook valueerror

这是每当我尝试将数据帧转换为 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/

相关文章:

python 随机播种是确定性的,但它不应该是

运行 NLTK StanfordParser 时 Java 命令失败

python - 为什么 ConfigParser items() 给出原始字符串,而 get() 返回 bool/float/等?

python - 使用多列键 reshape Pandas 数据框

java - 将数组元素传递给接受整数的方法 (Java)

c - 我的 SIMPLE C 程序有什么问题?

python - pyparsing OneOrMore 嵌入到其他 OneOrMore 中

Python - 通过 pandas 数据帧迭代并分配和有条件更新日期时间变量

python - 查找数据框中每列的最高 n 值

使用 int 和 double 的 java 程序