Python 如何从两个单独的数据帧列表中合并数据帧

Python 如何从两个单独的数据帧列表中合并数据帧,python,pandas,Python,Pandas,我有两个dfs列表 List1 = [df1,df2,df3] List2 = [df4,df5,df6] 我想将列表1中的第一个df与列表2中相应的df合并。ie df1与df4、df2与df5等 dfs共享一个公共列“Col1”。我尝试了以下代码 NewList = [] for i in len(List1),len(List2): NewList[i]=pd.merge(List1[i],List2[i],on='Col1') 我得到错误“列表索引超出范围” 我意识到这似乎

我有两个dfs列表

List1 = [df1,df2,df3]
List2 = [df4,df5,df6]
我想将列表1中的第一个df与列表2中相应的df合并。ie df1与df4、df2与df5等

dfs共享一个公共列“Col1”。我尝试了以下代码

NewList = []
for i in len(List1),len(List2):
    NewList[i]=pd.merge(List1[i],List2[i],on='Col1') 
我得到错误“列表索引超出范围”

我意识到这似乎是一个常见的问题,但我无法将我在堆栈中找到的任何解决方案应用于我的特定问题

提前感谢您的帮助

使用

pd.concat(
    [df1, df2]
)

要在两个列表上循环并对它们进行比较,或者在元素之间对它们执行操作,可以使用
zip()
函数

import pandas as pd

List1 = [df1,df2,df3]
List2 = [df4,df5,df6]

NewList = []
for dfa, dfb in zip(List1, List2):
    # Merges df1, df4; df2, df5; df3, df6
    mdf = dfa.merge(dfb, on = 'Col1')
    NewList.append(mdf)

你能详细说明一下吗?从问题的结构来看,我不清楚想要的答案是什么。您希望接收一个数据帧作为输出还是每行接收多个数据帧?其他可能是您的解决方案:pd.concat([df1,df2]).transpose()或df1.merge(df2,left_index=True,right_index=True)这里有一个来自pandas文档的非常有用的链接:我已经完全重新编写了这个问题。我在最初的问题中提供了太多的信息,这只会引起混乱。我的问题是,您似乎对如何在Python中编写两个列表上的循环以及如何在新列表中插入项感到困惑。你的问题本身不是熊猫问题