在python 3.中,通过库pandas, 使用休假代码时
def check_question(df):
mylambda = lambda x: x if x==x else x
return df.apply(mylambda)
print(check_question(df))
控制台显示了错误的ValueError:
ValueError:系列的真值不明确。使用空 a.bool(),a.item(),a.any()或a.all()
经过几次尝试,休闲代码对其进行了修复:
def check_question(df):
mylambda = lambda x: x if [x==x] else x
return df.apply(mylambda)
print(check_question(df))
我知道,这与熊猫库有关:Stackoverflow: The truth value of a Series is ambiguous
我意识到,当封装在[]之间时,表达式x == x值会从一个模糊的thuth值变为一个true值。 我对它的含义有一个模糊的想法,但是如果有人可以启发我更多有关它的信息,将不胜感激。
答案 0 :(得分:0)
您的第二个示例没有导致ValueError
,因为您正在检查已定义的Python列表(在本例中为[x == x]
)的真实值。相反,没有定义系列的真值(如您所述)。
另请参阅https://docs.python.org/3/library/stdtypes.html#truth-value-testing