2024-09-22 16:35:07 发布
网友
我正在运行以下代码:
try: result1 = getFunction() if result1["NumberOfPeople"]=="Not found": breaK except: raise
result1是一个数据框架,包含两列:Name和NumberOfPeople
我得到的错误是: ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。
有什么帮助吗
if result1["NumberOfPeople"]将返回.series,必须强制转换为.str
if result1["NumberOfPeople"]
.series
.str
try: result1 = getFunction() if result1["NumberOfPeople"].astype(str)=="Not found": #change from series to string break except: raise
那么:
try: result1 = getFunction() if result1["NumberOfPeople"].str.contains("Not found", regex=False): break except: raise
result1["NumberOfPeople"]是一个系列(整个列)。当您将一个序列与一个字符串进行比较时,会得到一系列布尔值,其中每个值都与该字符串进行比较。所以result1["NumberOfPeople"]=="Not found"是一个熊猫系列,不能转换成字符串
result1["NumberOfPeople"]
result1["NumberOfPeople"]=="Not found"
如果您想在数据帧行上迭代,那么在这种情况下应该使用iterrows()
所以你的代码应该是
result1 = getFunction() for row in result1.iterrows(): if row["NumberOfPeople"] == "Not found": break
if result1["NumberOfPeople"]
将返回.series
,必须强制转换为.str
那么:
result1["NumberOfPeople"]
是一个系列(整个列)。当您将一个序列与一个字符串进行比较时,会得到一系列布尔值,其中每个值都与该字符串进行比较。所以result1["NumberOfPeople"]=="Not found"
是一个熊猫系列,不能转换成字符串如果您想在数据帧行上迭代,那么在这种情况下应该使用iterrows()
所以你的代码应该是
相关问题 更多 >
编程相关推荐