ホームページ  >  記事  >  バックエンド開発  >  Pandas の演算子連鎖はどのようにして行フィルタリングの効率を向上させることができますか?

Pandas の演算子連鎖はどのようにして行フィルタリングの効率を向上させることができますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 13:51:31134ブラウズ

How Can Pandas' Operator Chaining Enhance Row Filtering Efficiency?

Pandas: 演算子連鎖を使用した効率的な行フィルタリング

pandas の主な利点の 1 つは、シームレスな実行を可能にする演算子連鎖機能です。複数の操作の。ただし、行をフィルタリングする従来の方法、つまり括弧インデックスを使用する方法 (例: df[df['column'] == value]) では、DataFrame を変数に割り当てる必要があります。これは不便であり、コードの冗長性につながる可能性があります。

ありがたいことに、ブール インデックスを使用してフィルタリング操作を連鎖させる、より効率的な方法があります。論理演算子 (&、|、^) を利用することで、複数の条件を連結して行の選択的フィルタリングを実現できます。

df_filtered = df[(df.A == 1) & (df.D == 6)]

この例では、列 'A' の値が 1 に等しい行と、列 'D' の値は 6 に等しいものが抽出されます。

メソッド チェーンを好むユーザーの場合は、行フィルタリングを容易にするカスタム マスク メソッドを実装できます。メソッドを定義して DataFrame クラスに割り当てることにより、メソッド呼び出し後にフィルター操作をシームレスに連鎖させることができます。

def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask

df.mask('A', 1).mask('D', 6)

このカスタム マスク メソッドにより、簡潔で連鎖的なフィルター操作が可能になり、効率性とコードの可読性が向上します。 .

以上がPandas の演算子連鎖はどのようにして行フィルタリングの効率を向上させることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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