首頁 > 後端開發 > Python教學 > 如何將 Pandas 資料框中的嵌套列表分解為單獨的行?

如何將 Pandas 資料框中的嵌套列表分解為單獨的行?

Mary-Kate Olsen
發布: 2024-11-12 03:10:02
原創
528 人瀏覽過

How to Explode Nested Lists into Individual Rows in a Pandas Dataframe?

將巢狀清單分解為Pandas 資料框中的單獨行

在使用pandas 進行資料操作的領域中,經常需要重構資料作為嵌套列表儲存到各個行中。考慮一個資料幀,其中「nearest_neighbors」列包含值清單。目標是「爆炸」這些列表,為列表中的每個值建立單獨的行。

Pandas 0.25 使用explode() 方法簡化列表爆炸

對於pandas在0.25 及更高版本中,通過引入explode() 方法,顯著簡化了在在列中展開清單的操作。為了示範其功能,讓我們重新建立範例資料框:

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'])
登入後複製

爆炸巢狀清單

使用explode()方法,我們可以分割「nearest_neighbors ”列按其列表元素,為每個值建立單獨的行:

# Explode the list-like column
df_exploded = df.explode('nearest_neighbors')
登入後複製

爆炸後的輸出

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
登入後複製

如您所見,每個值「 nearest_neighbors」欄位中的清單現在表示為其對應對手索引中的單獨行。

其他清單擴充的方法

適用於先前的 pandas 版本0.25 中,還有其他方法來擴充列中的清單。這些方法需要應用、lambda 和列表理解等操作的組合。然而,隨著explode()方法的引入,這些更複雜的方法就不再需要了。

以上是如何將 Pandas 資料框中的嵌套列表分解為單獨的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板