让我们将其简化为一个简单的示例。例如,进行以下比较:
3 == pd.Series([3,2,4,1])0 True1 False2 False3 Falsedtype: bool
您得到的结果是
Series布尔值的a ,其大小等于
pd.Series表达式右侧的。因此,实际上发生的是整数正在整个系列中 广播
,然后将它们进行比较。因此,当您这样做时:
if 3 == pd.Series([3,2,4,1]): pass
ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
你得到一个错误。这里的问题是,您正在将a
pd.Series与一个值进行比较,因此,就像上面的情况一样,您将拥有
True多个
False值。这当然是
不明确的 ,因为条件既不是
True或
False。
因此,您需要进一步汇总结果,以便从 *** 作中获得单个 布尔
值。为此,您必须使用
any或
all取决于您是否希望至少一个(
any)或
all值满足条件。
(3 == pd.Series([3,2,4,1])).all()# False
要么
(3 == pd.Series([3,2,4,1])).any()# True
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)