如何解决Python 错误:系列的真值不明确
我遇到了一个错误:Truth value of a Series is ambiguous. Use a.empty,a.bool(),a.item(),a.any() or a.all()
我理解这个错误的上下文,但我无法解决这个问题。这里的 ps
是 float
或 NnN
的列表,就是这样。在这种情况下,是什么导致处理 if 语句不明确?
它在第 3、5、9 行以及最后在 sort 语句中给出错误。
for item in candidates:
print("I am candidate loop \n",item)
ps=2*tmp3[0,i]/((diagonal.loc[x1])["pc"]+(diagonal.loc[item+1])["pc"])
print(ps)
if ps > 0:
if len(out)<k:
out.append([ps,item+1])
else:
if ps > min(out,key=lambda x:x[0])[0]):
out.remove(min(out,key=lambda x:x[0]))
out.append([ps,item+1])
else:
pass
i+=1
out.sort()
out.reverse()
我在 this 平台上遵循了这个解决方案也尝试了这种方式,以防万一如果所有值都大于 zero
if 循环继续,但它会在 out.sort()
上给出相同的错误。
for item in candidates:
print("I am candidate loop \n",i]/((diagonal.loc[x1])["pc"]+(diagonal.loc[item+1])["pc"])
print(ps)
if (ps > 0).all():
if len(out)<k:
out.append([ps,item+1])
else:
if (ps > min(out,key=lambda x:x[0])[0]).all():
out.remove(min(out,item+1])
else:
pass
i+=1
out.sort()
out.reverse()
任何形式的帮助将不胜感激!
提前致谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。