ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrames とシリーズに複数のフィルターを効率的に適用する方法
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 サイトの他の関連記事を参照してください。