错误:系列的真实值不明确-Python pandas

错误:系列的真实值不明确-Python pandas,第1张

错误:系列的真实值不明确-Python pandas

这是一个小演示,它说明了为什么发生这种情况:

In [131]: df = pd.Dataframe(np.random.randint(0,20,(5,2)), columns=list('AB'))In [132]: dfOut[132]:    A   B0   3  111   0  162  16   13   2  114  18  15In [133]: res = df['A'] > 10In [134]: resOut[134]:0    False1    False2     True3    False4     TrueName: A, dtype: bool

当我们尝试检查是否这样的系列

True
-熊猫不知道该怎么做时:

In [135]: if res:     ...:     print(df)     ...:---------------------------------------------------------------------------ValueError          Traceback (most recent call last)...skipped...ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

解决方法:

我们可以决定如何处理布尔值的系列-比如

if
应该返回
True
,如果 所有 的值是
True

In [136]: res.all()Out[136]: False

或当 至少一个 值为True时:

In [137]: res.any()Out[137]: TrueIn [138]: if res.any():     ...:     print(df)     ...:    A   B0   3  111   0  162  16   13   2  114  18  15


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存