Python 合并两个数据帧,共享熊猫中的同一列
我想把两个数据帧合并成一个 df1 df2 结果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
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