Python 合并两个数据帧,共享熊猫中的同一列

Python 合并两个数据帧,共享熊猫中的同一列,python,pandas,dataframe,Python,Pandas,Dataframe,我想把两个数据帧合并成一个 df1 df2 结果 key columnA columnB 1 0 3 1 1 5 1 2 7 结果数据帧的列顺序并不重要 编辑:我试过了 pd.merge(df1, df2, on ='key', how = 'inner') 它给了我一个 A key B 0 1 3 0 1 5 0 1 7 1 1 3 1

我想把两个数据帧合并成一个

df1

df2

结果

 key columnA columnB
  1    0       3
  1    1       5
  1    2       7
结果数据帧的列顺序并不重要

编辑:我试过了

 pd.merge(df1, df2, on ='key', how = 'inner')
它给了我一个

    A  key  B
    0    1  3
    0    1  5
    0    1  7
    1    1  3
    1    1  5
    1    1  7
    2    1  3
    2    1  5
    2    1  7

由于
key
在每一行上具有相同的值,因此最终将使用笛卡尔连接,因为不清楚每个
key=1
要匹配哪个
1
。相反,请同时使用
索引
进行匹配

与:

像这样合并:

df1.merge(df2, on="key", left_index=True, right_index=True)
   columnA  key  columnB
0        0    1        3
1        1    1        5
2        2    1        7

可能是重复的@andrew_reece,不,我查过了
    A  key  B
    0    1  3
    0    1  5
    0    1  7
    1    1  3
    1    1  5
    1    1  7
    2    1  3
    2    1  5
    2    1  7
df1 = pd.DataFrame({"key":np.ones(3, dtype=int), "columnA":np.arange(3)})
df2 = pd.DataFrame({"key":np.ones(3, dtype=int), "columnB":np.arange(3,9,2)})
df1.merge(df2, on="key", left_index=True, right_index=True)
   columnA  key  columnB
0        0    1        3
1        1    1        5
2        2    1        7