Python 用两个相等的列表示两个df

Python 用两个相等的列表示两个df,python,pandas,dataframe,merge,concat,Python,Pandas,Dataframe,Merge,Concat,我得到了两个df,有两个相似的列,但名称不同,我想用相似的列来表示它们 那是我的df data={"col1":["A","B","D","f"], "col2":[4,2,4,6], "col3":[7,6,9,11], "col4":[14,11,22,8], "multi":[1.4,2.5,1.6,2.2]}

我得到了两个df,有两个相似的列,但名称不同,我想用相似的列来表示它们

那是我的df

data={"col1":["A","B","D","f"],
"col2":[4,2,4,6],
"col3":[7,6,9,11],
"col4":[14,11,22,8],
"multi":[1.4,2.5,1.6,2.2]}
df1=pd.DataFrame.from_dict(data)

data2={"col5":["A","B","D","f"],
"col6":[345,55,44,16],
"col7":[4,7,4,6],
"col8":[1,5,3,9],
"multi_2":[2,2,4,9]}
df2=pd.DataFrame.from_dict(data2)
我想通过列[“col1”、“col5”]来连接它们

它需要看起来像这样,但也可以是“col5”


df1.merge(df2,左上=['col1'],右上=['col5'])
谢谢,我试过了,但我写了左上='col1'而不是左上=['col1']谢谢:)是的。。它可以是标签、列表或数组-like@matan如果df1还有一行,我如何合并它们而不丢失不在df2中的行?如果df1还有一行,我如何合并它们而不丢失不在df2中的行?@matan add
how='left'
how='outer'
data3={"col1":["A","B","D","f"],
"col2":[4,2,4,6],
"col3":[7,6,9,11],
"col4":[14,11,22,8],
"multi":[1.4,2.5,1.6,2.2],
"col6":[345,55,44,16],
"col7":[4,7,4,6],
"col8":[1,5,3,9],
"multi_2":[2,2,4,9]}
df3=pd.DataFrame.from_dict(data3)
df3
df1.merge(df2, left_on='col1', right_on='col5').drop('col5', axis=1)