if语句如下:
for line in result
if result < 0 and test == 1:
test = 0
print('patient result ', (TestAmount/SMAs.amount[line] - 1))
有一系列这些但问题出在if语句中。当我运行代码时,我得到一个错误,说"ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()."
我明白这意味着我不能拥有if语句标准,因为我有它们与pandas但不知道如何纠正它。在使用pandas DataFrame时,是否可以在两件事情上调整if语句?
我对编码很陌生,对术语非常不熟悉。我希望编写一个程序来分析实验室数据,然后希望不必再用它做太多。
如果你想要一个布尔列表使用按位运算而不是and
和or
:
(result < 0) & (test == 1)
如果你想要所有的项目是True
使用all
:
(result < 0).all() and (test == 1)
或者,如果您只想在每个值上运行条件,请使用for
中的变量:
(line < 0) and (test == 1)
一位同事帮助解决了这个问题。原来问题是该行不是整数。这是通过替换for循环修复如下:
for line in range(0,len(SMAs)):
谢谢你的帮助。