Bagaimana untuk Menyahsarang Lajur Berbilang Senarai dengan Cekap dalam Pandas DataFrames?

Susan Sarandon
Lepaskan: 2024-11-17 16:01:02
asal
311 orang telah melayarinya

How to Efficiently Unnest Multiple List Columns in Pandas DataFrames?

Menyahsarang Berbilang Lajur Senarai dalam Pandas DataFrames Dengan Cekap

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.

Panda >= 1.3

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)
Salin selepas log masuk

Panda >= 0.25

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()
Salin selepas log masuk

Pertimbangan Prestasi

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
Salin selepas log masuk

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!

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