Rumah >pembangunan bahagian belakang >Tutorial Python >Bolehkah Operator Chaining Digunakan untuk Menapis Baris DataFrame dalam Panda?
Banyak operasi Panda boleh dilakukan melalui rantaian operator, termasuk kumpulan mengikut kumpulan, agregat dan gunakan. Walau bagaimanapun, penapisan baris lazimnya telah dilakukan menggunakan pengindeksan kurungan tradisional.
df_filtered = df[df['column'] == value]
Pendekatan ini memerlukan penugasan df kepada pembolehubah sebelum menapis, yang boleh menyusahkan. Adakah terdapat cara yang lebih mudah untuk merantai operasi penapisan?
Jawapan:
Walaupun baris terakhir kod yang diberikan dalam soalan tidak jelas, penapisan "berantai" boleh dicapai dengan merantai kriteria dalam indeks boolean.
df[(df.A == 1) & (df.D == 6)]
Selain itu, pengguna boleh mentakrifkan kaedah topeng mereka sendiri dan menggunakannya untuk penapisan:
def mask(df, key, value): return df[df[key] == value] pandas.DataFrame.mask = mask df = pandas.DataFrame(np.random.randint(0, 10, (4,4)), index=list('abcd'), columns=list('ABCD')) df.mask('A', 1) df.mask('A', 1).mask('D', 6)
Ini membolehkan rantaian operasi penapis yang mudah .
Atas ialah kandungan terperinci Bolehkah Operator Chaining Digunakan untuk Menapis Baris DataFrame dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!