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

Bolehkah Operator Chaining Digunakan untuk Menapis Baris DataFrame dalam Panda?

DDD
DDDasal
2024-11-04 04:50:291005semak imbas

Can Operator Chaining Be Used to Filter DataFrame Rows in Pandas?

Panda: Tapis Baris Bingkai Data dengan Rantaian Operator

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!

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