Pandas 系列中不明确的真值:使用 OR 条件进行过滤
我们遇到错误“系列的真值不明确”,当尝试使用 OR 条件过滤 DataFrame,如下所示:
df = df[(df['col'] < -0.25) or (df['col'] > 0.25)]
此错误源于 pandas 系列中真值的模糊性。为了解决这个问题,我们应该使用“按位”运算符,它们是专门为 pandas 中的元素布尔运算而设计的。
按位 OR 和 AND 运算符
按位或运算符 |按位与运算符 & 适合我们的目的。它们对 Series 进行逐元素操作,返回一个布尔系列,其中每个元素表示对原始 Series 中相应元素进行 OR 或 AND 运算的结果。
在我们的例子中,我们可以重写过滤表达式使用按位或运算符如下:
df = df[(df['col'] < -0.25) | (df['col'] > 0.25)]
替代方法
异常消息还建议从 Series 中获取真值的替代方法:
以上是如何解决 Pandas 过滤中的'系列的真值不明确”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!