按顺序合并数据框列表

时间:2019-02-26 18:03:56

标签: python list dataframe

我有3个列表,每个列表包含3个数据框:

l1 = [df1_1, df1_2, df1_3]
l2 = [df2_1, df2_2, df2_3]
l3 = [df3_1, df3_2, df3_3]

我正在尝试找到一种遍历列表的方法,以将数据帧合并到相同的列表索引位置,以便获得等效的结果:

l_new = [df1_1.merge(df2_1).merge(df3_1),
         df1_2.merge(df2_2).merge(df3_2),
         df1_3.merge(df2_3).merge(df3_3)]

但是,我无法完全理解正确的迭代和合并语法。我尝试过:

[(item).merge((item) in l2).merge((item) in l3) for item in l1]

但收到:

ValueError: Can only compare identically-labeled DataFrame objects

1 个答案:

答案 0 :(得分:0)

睡个好觉,我找到了合适的答案:

l_new = [l1[i].merge(l2[i]).merge(l3[i]) for i in range(len(l1))]