Rumah > Artikel > pembangunan bahagian belakang > Bolehkah Rantaian Operator Digunakan untuk Penapisan Baris DataFrame dalam Panda?
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)]
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]
Dengan menambahkan kaedah ini pada kelas DataFrame:
pandas.DataFrame.mask = mask
Pengguna kemudiannya boleh memanfaatkan keupayaan merantai kaedah panda untuk melaksanakan berbilang operasi penapisan dalam satu baris kod:
df.mask('A', 1).mask('D', 6)
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!