Meletupkan Senarai Bersarang Menjadi Baris Individu dalam Bingkai Data Pandas
Dalam bidang manipulasi data dengan panda, keperluan sering timbul untuk menyusun semula data disimpan sebagai senarai bersarang ke dalam baris individu. Pertimbangkan bingkai data di mana lajur "nearrest_neighbors" mengandungi senarai nilai. Objektifnya adalah untuk "meletupkan" senarai ini, mencipta baris berasingan untuk setiap nilai dalam senarai.
Panda 0.25 Memudahkan Senarai Meletup dengan Kaedah explode()
Untuk panda versi 0.25 dan lebih baru, mengembangkan senarai dalam lajur dipermudahkan dengan ketara dengan pengenalan kaedah explode(). Untuk menunjukkan kefungsiannya, mari kita cipta semula contoh kerangka data:
import pandas as pd # Original DataFrame df = pd.DataFrame({'name': ['A.J. Price'] * 3, 'opponent': ['76ers', 'blazers', 'bobcats'], 'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3}) # Set the index for easier reference df = df.set_index(['name', 'opponent'])
Meletupkan Senarai Bersarang
Menggunakan kaedah explode(), kita boleh membahagikan "neast_neighbors" lajur dengan elemen senarainya, mencipta baris berasingan untuk setiap nilai:
# Explode the list-like column df_exploded = df.explode('nearest_neighbors')
Output selepas Meletup
print(df_exploded)
nearest_neighbors name opponent A.J. Price 76ers Zach LaVine 76ers Jeremy Lin 76ers Nate Robinson 76ers Isaia blazers Zach LaVine blazers Jeremy Lin blazers Nate Robinson blazers Isaia bobcats Zach LaVine bobcats Jeremy Lin bobcats Nate Robinson bobcats Isaia
Seperti yang anda lihat, setiap nilai daripada senarai dalam lajur "nearrest_neighbors" kini diwakili sebagai baris berasingan dalam indeks lawannya yang sepadan.
Kaedah Lain untuk Peluasan Senarai
Untuk versi panda sebelum 0.25, terdapat pendekatan lain untuk mengembangkan senarai dalam lajur. Kaedah ini memerlukan gabungan operasi seperti aplikasi, lambda dan pemahaman senarai. Walau bagaimanapun, dengan pengenalan kaedah explode(), pendekatan yang lebih kompleks ini tidak lagi diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Meletupkan Senarai Bersarang ke dalam Baris Individu dalam Bingkai Data Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!