將巢狀清單分解為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中文網其他相關文章!