我有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
答案 0 :(得分:0)
睡个好觉,我找到了合适的答案:
l_new = [l1[i].merge(l2[i]).merge(l3[i]) for i in range(len(l1))]