Rumah > pembangunan bahagian belakang > Tutorial Python > Bolehkah Rantaian Operator Digunakan untuk Penapisan Baris DataFrame dalam Panda?

Bolehkah Rantaian Operator Digunakan untuk Penapisan Baris DataFrame dalam Panda?

Mary-Kate Olsen
Lepaskan: 2024-11-04 18:49:02
asal
600 orang telah melayarinya

Can Operator Chaining Be Used for DataFrame Row Filtering in Pandas?

Menapis Baris DataFrame dengan Operator Chaining

Walaupun panda menawarkan sokongan meluas untuk operator rantaian dalam pelbagai operasi (kumpulan, agregat, terpakai), keupayaan untuk menapis baris melalui kaedah ini nampaknya terhad. Sebaliknya, pengguna secara tradisinya menggunakan pengindeksan kurungan persegi untuk penapisan baris. Walau bagaimanapun, pendekatan ini memerlukan penugasan DataFrame kepada pembolehubah terlebih dahulu, yang boleh menyusahkan.

Untuk menangani had ini, sesetengah pengguna telah meneroka kemungkinan merantai kriteria penapisan dalam indeks boolean. Contohnya:

df[(df.A == 1) & (df.D == 6)]
Salin selepas log masuk

Sintaks ini membolehkan penapisan yang ringkas dan cekap dengan menggabungkan berbilang keadaan.

Jika fungsi yang diingini ialah merantai kaedah dan bukannya kriteria penapis, pengguna boleh menentukan topeng tersuai kaedah yang berfungsi sebagai pembalut kaedah di sekitar operasi penapisan asas.

def mask(df, key, value):
    return df[df[key] == value]
Salin selepas log masuk

Dengan menambahkan kaedah ini pada kelas DataFrame:

pandas.DataFrame.mask = mask
Salin selepas log masuk

Pengguna kemudiannya boleh memanfaatkan keupayaan merantai kaedah panda untuk melaksanakan berbilang operasi penapisan dalam satu baris kod:

df.mask('A', 1).mask('D', 6)
Salin selepas log masuk

Pendekatan ini menyediakan penyelesaian yang boleh disesuaikan dan fleksibel untuk merantai operasi penapisan pada DataFrames.

Atas ialah kandungan terperinci Bolehkah Rantaian Operator Digunakan untuk Penapisan Baris DataFrame dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan