Pandas DataFrames 和 Series 的高效過濾
過濾 Pandas DataFrames 和 Series 中的資料對於資料操作和分析至關重要。若要有效地套用多個篩選器,請考慮利用 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 和 Series?的詳細內容。更多資訊請關注PHP中文網其他相關文章!