ホームページ > バックエンド開発 > Python チュートリアル > Pandas でブールインデックス作成に論理演算子を正しく使用するにはどうすればよいですか?

Pandas でブールインデックス作成に論理演算子を正しく使用するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-18 05:38:10
オリジナル
613 人が閲覧しました

How to Correctly Use Logical Operators for Boolean Indexing in Pandas?

Pandas でのブール インデックス作成の論理演算子

Pandas でブール インデックス作成を使用しているときに、and を使用しようとするとエラーが発生する場合があります。以下に示すように、系列比較を使用して演算子を直接使用します。例:

a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)]
ログイン後にコピー

Python では複数の要素を含む配列にブール値を割り当てることができないため、ValueError が発生します。代わりに、要素ごとの論理 AND 演算には & 演算子を使用する必要があります。

a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)]
ログイン後にコピー

この区別は、and 演算子がブール評価を実行するのに対し、& 演算子は要素ごとの論理演算を実行するため発生します。 and を使用して系列の比較を評価する場合、Python は要素のコレクションにブール値を割り当てる際のあいまいさをどのように処理するかを決定できません。

要素ごとの正しい論理演算を保証するには、要素を含む式では括弧が重要です。 &演算子。括弧を無視すると、次のような意図しない評価順序が生じる可能性があります:

a['x']==1 & a['y']==10
ログイン後にコピー

これは、

(a['x'] == 1) & (a['y'] == 10)
ログイン後にコピー

として解釈されます。代わりに、正しい式は次のとおりです:

(a['x']==1) & (a['y']==10)
ログイン後にコピー

ブール評価と要素ごとの論理演算の違いを理解することで、ブールインデックス作成に論理演算子を効果的に使用できるようになりますパンダで。

以上がPandas でブールインデックス作成に論理演算子を正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート