ホームページ >バックエンド開発 >Python チュートリアル >Pandas フィルタリングの「シリーズの真理値があいまいです」エラーを解決する方法?

Pandas フィルタリングの「シリーズの真理値があいまいです」エラーを解決する方法?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-25 21:37:11478ブラウズ

How to Resolve

Pandas シリーズのあいまいな真理値: OR 条件によるフィルタリング

次の場合に「シリーズの真理値があいまいです」というエラーが発生します。示されているように、OR 条件を使用して DataFrame をフィルタリングしようとしています以下:

df = df[(df['col'] < -0.25) or (df['col'] > 0.25)]

このエラーは、pandas シリーズの真理値の曖昧な性質に起因します。これを解決するには、代わりに、パンダの要素ごとのブール演算用に特別に設計された「ビットごと」演算子を使用する必要があります。

ビットごとの OR および AND 演算子

ビットごとの OR 演算子 |およびビット単位の AND 演算子 & は、今回の目的に適しています。これらは系列に対して要素ごとに演算し、各要素が元の系列内の対応する要素に対する OR または AND 演算の結果を表すブール系列を返します。

この場合、フィルター式を書き換えることができます。次のようにビットごとの OR 演算子を使用します:

df = df[(df['col'] < -0.25) | (df['col'] > 0.25)]

代替メソッド

例外メッセージは、シリーズから真理値を取得するための代替メソッドも提案します。

  • .empty: シリーズが空かどうかを確認します。
  • .bool(): 各要素が次のようなブール系列を返します。対応する要素が非ゼロまたは非 False の場合は True、それ以外の場合は False。
  • .item(): シリーズ内の最初で唯一の項目を返します。
  • .any(): Series 内のいずれかの要素がゼロ、空、または False でない場合は True を返します。それ以外の場合は、False を返します。
  • .all(): Series 内のすべての要素がゼロ以外、空でない、または False でない場合は True を返します。それ以外の場合は、False を返します。

以上がPandas フィルタリングの「シリーズの真理値があいまいです」エラーを解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。