ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrames とシリーズに複数のフィルターを効率的に適用する方法

Pandas DataFrames とシリーズに複数のフィルターを効率的に適用する方法

DDD
リリース: 2024-10-20 11:58:02
オリジナル
383 人が閲覧しました

How to Efficiently Apply Multiple Filters to Pandas DataFrames and Series?

Pandas DataFrame およびシリーズの効率的なフィルタリング

Pandas DataFrame およびシリーズのデータ​​のフィルタリングは、データの操作と分析に不可欠です。複数のフィルターを効率的に適用するには、Pandas の組み込み演算子とブール インデックスの活用を検討してください。

DataFrame または Series の場合、次の例に示すように、演算と値のリストを辞書形式で提供します。

<code class="python">relops = {'>=': [1], '<=': [1]}
ログイン後にコピー

これらのフィルターを適用するには:

<code class="python">import numpy as np

def boolean_filter(x, relops):
    filters = []
    for op, vals in relops.items():
        op_func = getattr(np, op)
        for val in vals:
            filters.append(op_func(x, val))

    return x[(np.logical_and(*filters))]

## Example:

df = pandas.DataFrame({'col1': [0, 1, 2], 'col2': [10, 11, 12]})

result = boolean_filter(df['col1'], {'>=': [1]})
print(result)

## Output:
# col1
# 1       1
# 2       2
# Name: col1</code>
ログイン後にコピー

ブール型インデックスを利用することで、この方法は不必要なコピーを回避し、特に大規模なデータセットの場合に非常に効率的です。

以上がPandas DataFrames とシリーズに複数のフィルターを効率的に適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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