Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Rantaian Operator Pandas Dapat Meningkatkan Kecekapan Penapisan Baris?

Bagaimanakah Rantaian Operator Pandas Dapat Meningkatkan Kecekapan Penapisan Baris?

Susan Sarandon
Lepaskan: 2024-11-03 13:51:31
asal
209 orang telah melayarinya

How Can Pandas' Operator Chaining Enhance Row Filtering Efficiency?

Panda: Penapisan Baris Cekap Menggunakan Rantaian Operator

Salah satu faedah utama panda ialah keupayaan rantaian pengendalinya, yang membolehkan pelaksanaan lancar daripada pelbagai operasi. Walau bagaimanapun, kaedah tradisional untuk menapis baris, iaitu, menggunakan pengindeksan kurungan (cth., df[df['lajur'] == nilai]), memerlukan penugasan DataFrame kepada pembolehubah. Ini boleh menyusahkan dan boleh menyebabkan lebihan kod.

Syukurlah, terdapat cara yang lebih cekap untuk menjalankan operasi penapisan rantai menggunakan indeks boolean. Dengan menggunakan operator logik (&, |, ^), berbilang kriteria boleh dirantai bersama untuk mencapai penapisan baris terpilih.

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

Dalam contoh ini, baris dengan nilai lajur 'A' bersamaan dengan 1 dan nilai lajur 'D' bersamaan 6 diekstrak.

Bagi pengguna yang lebih suka kaedah rantaian, adalah mungkin untuk melaksanakan kaedah topeng tersuai yang memudahkan penapisan baris. Dengan mentakrifkan kaedah dan memberikannya kepada kelas DataFrame, operasi penapis boleh dirantai dengan lancar selepas sebarang panggilan kaedah.

def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask

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

Kaedah topeng tersuai ini membolehkan operasi penapisan yang ringkas dan berantai, memberikan kecekapan yang dipertingkatkan dan kebolehbacaan kod .

Atas ialah kandungan terperinci Bagaimanakah Rantaian Operator Pandas Dapat Meningkatkan Kecekapan Penapisan Baris?. 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