Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membongkar Senarai Bersarang dalam DataFrames dengan Panda?

Bagaimana untuk Membongkar Senarai Bersarang dalam DataFrames dengan Panda?

Barbara Streisand
Barbara Streisandasal
2024-11-13 07:28:02257semak imbas

How to Unpack Nested Lists in DataFrames with Pandas?

Meletupkan Senarai Bersarang dalam DataFrames dengan Panda

Cabaran: Tukar sel DataFrame yang mengandungi senarai ke dalam baris berasingan untuk setiap nilai.

Pertimbangkan DataFrame dengan lajur nama lawan dan lajur sepadan jiran terdekat, diwakili sebagai senarai. Matlamatnya adalah untuk membongkar senarai ini, menyusun setiap jiran sebagai baris berasingan untuk lawannya yang sepadan.

Penyelesaian:

Panda telah memudahkan operasi ini dengan letupan() kaedah dalam versi 0.25:

import pandas as pd

# Sample DataFrame
df = (pd.DataFrame({'name': ['A.J. Price'] * 3, 
                    'opponent': ['76ers', 'blazers', 'bobcats'], 
                    'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3})
      .set_index(['name', 'opponent']))

# Explode the 'nearest_neighbors' column
df = df.explode('nearest_neighbors')

# Print the exploded DataFrame
print(df)

Output:

                    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

Atas ialah kandungan terperinci Bagaimana untuk Membongkar Senarai Bersarang dalam DataFrames dengan 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