透過三向聯接合併Pandas 中列上的多個DataFrame
資料合併是資料分析中的一項基本任務,允許您將來自多個來源的資料。在 Pandas 中, join() 函數是合併資料幀的強大工具。但是,在連接多個資料幀時,您可能會遇到與分層索引方案相關的挑戰。
使用公共列的三向連接
考慮您有三個資料幀的場景CSV 文件,每個文件都包含有關同一組人員的資訊。每個文件中的第一列是人員的姓名,而後續列代表他們的屬性。您的目標是將這些文件合併到一個 CSV 中,每行包含每個獨特人員的所有屬性。
分層索引和多重索引
在 Pandas 中,多重索引是指每個索引層級代表不同列的索引方案。連接資料幀時,使用多個索引根據共用值對齊資料。在您的情況下,「join」函數可能會指定您需要多索引,因為您要連接單一列(名稱),這是每個資料幀中的索引。
合併資料幀而不需要分層索引
但是,某些場景可能不需要分層索引。如果資料幀具有公共列,則可以使用 lambda 函數和 functools 套件來簡化合併過程。這是一個範例:
import pandas as pd import functools as ft dfs = [df1, df2, df3, ..., dfN] df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
在此程式碼中:
這種方法可以方便地合併多個資料幀,而無需指定複雜的分層索引方案。
以上是如何基於公共列高效合併多個 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!