データ分析において、pandas はデータ フレームを操作および処理するための重要なライブラリです。フィルタリング操作を実行するときは、複数の条件を使用するときの演算子の動作を理解することが重要です。
2 つの列 'a' と ' の値に基づいてデータ フレーム内の行をフィルタリングするシナリオを考えてみましょう。 b'. AND '&' 演算子と OR '|' の使用演算子では、AND は少なくとも 1 つの値が -1 である行を削除することが期待されますが、OR は両方の値が -1 である行を保持する必要があります。
<code class="python">df = pd.DataFrame({'a': range(5), 'b': range(5)}) df['a'][1] = -1 df['b'][1] = -1 df['a'][3] = -1 df['b'][4] = -1 df1 = df[(df.a != -1) & (df.b != -1)] df2 = df[(df.a != -1) | (df.b != -1)] print(pd.concat([df, df1, df2], axis=1, keys=['original df', 'using AND (&)', 'using OR (|)',]))</code>
予期せぬことに、AND 演算子は少なくとも 1 つの値が含まれるすべての行を削除します。
この動作を理解する鍵は、保持したいものに基づいて条件を記述していることを覚えておくことです。
以上がPandas のフィルタリング操作で AND (`&`) および OR (`|`) 演算子を使用すると予期しない結果が生じるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。