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中文網其他相關文章!