Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memohon Berbilang Penapis dengan Cekap pada Pandas DataFrames dan Siri?

Bagaimana untuk Memohon Berbilang Penapis dengan Cekap pada Pandas DataFrames dan Siri?

DDD
DDDasal
2024-10-20 11:58:02302semak imbas

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

Penapisan Pandas DataFrames dan Siri yang Cekap

Menapis data dalam Pandas DataFrames dan Siri adalah penting untuk manipulasi dan analisis data. Untuk menggunakan berbilang penapis dengan cekap, pertimbangkan untuk memanfaatkan operator terbina dalam Pandas dan pengindeksan boolean.

Untuk DataFrame atau Siri, menyediakan operasi dan senarai nilai dalam format kamus, seperti ditunjukkan dalam contoh di bawah:

<code class="python">relops = {'>=': [1], '<=': [1]}

Untuk menggunakan penapis ini:

<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>

Dengan menggunakan pengindeksan boolean, kaedah ini mengelakkan penyalinan yang tidak perlu dan sangat cekap, terutamanya untuk set data yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Memohon Berbilang Penapis dengan Cekap pada Pandas DataFrames dan Siri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn