Python错误:以10为基数的int()的文本无效

Python错误:以10为基数的int()的文本无效,python,pandas,Python,Pandas,下面是代码和输出。我假设分数不是int,但不确定在这种情况下如何转换 您发布的屏幕截图正在识别问题。您正试图在str0-3上调用int()。这是办不到的。从我的终端 [1]中的:int('0-3') --------------------------------------------------------------------------- ValueError回溯(最近一次调用上次) 在里面 ---->1整数('0-3') ValueError:基数为10的int()的文本无效:“0

下面是代码和输出。我假设分数不是int,但不确定在这种情况下如何转换


您发布的屏幕截图正在识别问题。您正试图在
str
0-3
上调用
int()
。这是办不到的。从我的终端

[1]中的
:int('0-3')
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
---->1整数('0-3')
ValueError:基数为10的int()的文本无效:“0-3”

查看您的数据帧,看起来有很多数据无法按原样转换为
int

您在“-”(U+0020
HYPHEN-减号
)上拆分,但您的数据使用了其他字符。。。很难说,因为您提供了错误的图片而不是实际错误,但可能是“–”(U+2013
EN DASH
)。修复分割以使用输入中实际出现的字符。

我认为您应该这样做

score = [int(row) for row in score if row.isnumeric()]
利用字符串的
.isnumeric()
方法


另外,您不应该对熊猫使用
.ix
方法。我敢肯定它已被弃用。

您不应该粘贴代码的截图,而应该粘贴实际的代码文本itself@Buckeye14Guy他正在使用score.split(“-”)though@Buckeye14Guy,谢谢,还是个错误。虽然稍有不同,只是在错误的结尾处留下了“-”。我唯一能想到的是,这个角色并不是真的“-”。@霍布斯下面的回答解释了可能发生的事情。简单的解决方案是:
[int(row)for row in score if row.isnumeric()]
他使用的是
score.split(“-”)
但不正确。错误输出清楚地表明他正试图将
'0-3'
转换为
int
。他并不是真的在拆线。
变量没有实际行的字符串是的,我理解,他知道这一点。他的问题是如何转换,而不是问题是什么。根据问题的标题,他不确定情况是否如此……此外,如果他想知道如何将
0-3
转换为整数,他需要给出更多关于他期望的行为的说明。他使用的代码正在覆盖相同的
df
变量,并且他没有粘贴任何数据供其他人复制it@sedavidw看看霍布斯的答案。他做对了。OP的代码是正确的。他只是没有被正确的连字符分开。
score = [int(row) for row in score if row.isnumeric()]