Merungkai Senarai Bersarang dalam Pandas DataFrames: Peluasan Baris
Apabila bekerja dengan data dalam bingkai data Pandas, anda mungkin menghadapi lajur yang mengandungi senarai, yang mungkin merangkumi berbilang nilai. Untuk memudahkan analisis dan manipulasi, adalah perlu untuk mengubah senarai ini menjadi baris yang berasingan. Proses ini, yang dikenali sebagai "pembentukan panjang" atau "peluasan baris", membenarkan setiap elemen senarai menduduki barisnya sendiri.
Untuk mencapai ini, Pandas menawarkan kaedah khusus yang dipanggil .explode() , diperkenalkan dalam versi 0.25. Kaedah ini dengan lancar mengubah lajur yang mengandungi senarai yang ditentukan menjadi satu siri baris, dengan setiap elemen menjadi baris bebas.
Pelaksanaan:
Untuk menggunakan Kaedah .explode(), hanya nyatakan nama lajur yang anda ingin kembangkan. Secara lalai, ia akan mencipta baris baharu untuk setiap elemen dalam lajur, sambil mengekalkan nilai dalam semua lajur lain.
Sebagai contoh, pertimbangkan bingkai data yang mengandungi lajur 'sampel' dengan senarai nilai:
import pandas as pd import numpy as np df = pd.DataFrame( {'trial_num': [1, 2, 3, 1, 2, 3], 'subject': [1, 1, 1, 2, 2, 2], 'samples': [list(np.random.randn(3).round(2)) for i in range(6)] } )
Menggunakan .explode() kaedah:
df.explode('samples')
Hasil dalam rangka data berikut:
subject trial_num sample 0 1 1 0.57 1 1 1 -0.83 2 1 1 1.44 3 1 2 -0.01 4 1 2 1.13 5 1 2 0.36 6 2 1 -0.08 7 2 1 -4.22 8 2 1 -2.05 9 2 2 0.72 10 2 2 0.79 11 2 2 0.53
Seperti yang anda boleh perhatikan, setiap elemen senarai kini mempunyai barisnya sendiri. Perlu diingat bahawa, walaupun kaedah membuka senarai senarai dengan cekap, ia melakukannya untuk satu lajur pada satu masa.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Kembangkan Senarai Bersarang dalam Pandas DataFrames ke dalam Baris Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!