pandas的多表merge的方法

由于merge函數(shù)是可以將兩個(gè)表進(jìn)行合并,如果多余兩個(gè)表進(jìn)行合并的話,可以使用merge嵌套的方法,當(dāng)然也可以用reduce和merge組合的方法來(lái)實(shí)現(xiàn)。
例如,以下代碼:

from functools import reduce
import pandas as pd 
df1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                       'A': ['A0', 'A1', 'A2', 'A3'],
                       'B': ['B0', 'B1', 'B2', 'B3']})

df2 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                        'C': ['C0', 'C1', 'C2', 'C3'],
                        'D': ['D0', 'D1', 'D2', 'D3']})

df3 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                        'E': ['E0', 'E1', 'E2', 'E3'],
                        'F': ['F0', 'F1', 'F2', 'F3']})
dfs = [df1,df2,df3]

df_final = reduce(lambda left,right: pd.merge(left,right,how='outer',on="key"), dfs)
df_final

reduce()函數(shù)是functools模塊中的一個(gè)函數(shù),其作用是對(duì)參數(shù)序列中元素進(jìn)行累積,返回值是一個(gè)數(shù)值。

# 關(guān)于reduce的使用
from functools import reduce
# 將列表里面整數(shù)累加
list_p = [1,2,3]
re = reduce(lambda x,y:x+y,list_p)
print(re) 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容