Menyahsarang (juga dikenali sebagai meletup) berbilang lajur senarai dalam Pandas DataFrames yang besar boleh menjadi tugas yang intensif dari segi pengiraan, terutamanya apabila saiz set data adalah besar. Untuk menangani cabaran ini, kami meneroka dua kaedah cekap yang memenuhi versi Panda yang berbeza.
Untuk Pandas versi 1.3 dan lebih tinggi, kaedah DataFrame.explode menyediakan cara yang mudah untuk meletupkan berbilang lajur secara serentak. Kaedah ini memerlukan semua nilai dalam lajur yang dipilih mempunyai senarai saiz yang sama. Hanya hantar nama lajur kepada kaedah letupan, seperti yang ditunjukkan di bawah:
df.explode(['B', 'C', 'D', 'E']).reset_index(drop=True)
Untuk versi Pandas yang lebih lama, kami boleh menggunakan Series.explode pada setiap lajur. Kami mula-mula menetapkan sebagai indeks semua lajur yang tidak sepatutnya diletupkan dan kemudian menetapkan semula indeks selepas operasi.
df.set_index(['A']).apply(pd.Series.explode).reset_index()
Kedua-dua kaedah menawarkan prestasi yang cekap, seperti yang ditunjukkan oleh yang berikut pemasaan pada set data yang besar:
%timeit df2.explode(['B', 'C', 'D', 'E']).reset_index(drop=True) %timeit df2.set_index(['A']).apply(pd.Series.explode).reset_index() # Pandas >= 1.3 (fastest) 2.59 ms ± 112 µs per loop # Pandas >= 0.25 1.27 ms ± 239 µs per loop
Dengan mengambil kesempatan daripada kaedah yang cekap ini, kami boleh membatalkan berbilang senarai dengan berkesan lajur dalam Pandas DataFrames dalam sebarang saiz, membolehkan analisis dan manipulasi data yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk Menyahsarang Lajur Berbilang Senarai dengan Cekap dalam Pandas DataFrames?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!