我有五个数据框,每个数据框都有唯一的列和一个公共列 id no。。假设每个数据框都包含以下列:
我已将merge用作以下内容:
first1 = pd.merge(df1, df2, how= 'left', on = 'id_no')
first2 = pd.merge(first1, df3, how= 'left', on = 'id_no')
first3 = pd.merge(first2, df4, how= 'left', on = 'id_no')
combineall = pd.merge(first3, df5, how= 'left', on = 'id_no')
问题: combineall 数据框中缺少df3列。虽然当我单独打印df3时,我看到所有可用的内容。合并期间我的df3如何丢失?是否有我使这个过程更容易,问题更少。
目标: 我希望comabinall数据框与来自df1,df2,df3,df4,df5的所有列基于 id_no 合并。
答案 0 :(得分:1)
试试这个:
from functools import reduce
finaldf = reduce(lambda left,right: pd.merge(left, right, on='id_no', how='left'), [df1,df2,df3,df4,df5])