合并数据帧列表以创建一个数据帧

时间:2016-08-16 14:56:40

标签: python python-3.x pandas

我有18个数据框的列表:

dfList = [df1, df2, df3, df4, df5, df6.....df18]

所有数据框都有一个共同的id列,因此很容易将它们与pd.merge 2一起连接在一起。有没有办法一次性加入它们,以便dfList作为单个数据帧返回?

1 个答案:

答案 0 :(得分:15)

我认为您需要concat,但首先按公共列设置每个DataFrame的索引:

dfs = [df.set_index('id') for df in dfList]
print pd.concat(dfs, axis=1)

如果需要加入merge

df = reduce(lambda df1,df2: pd.merge(df1,df2,on='id'), dfList)