我想将两个数据帧合并为一个
DF1
key columnA
1 0
1 1
1 2
DF2
key columnB
1 3
1 5
1 7
结果
key columnA columnB
1 0 3
1 1 5
1 2 7
生成的数据帧的列顺序并不重要
编辑:我试过了
pd.merge(df1, df2, on ='key', how = 'inner')
它给了我一个 DF
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
。 相反,请同时匹配key
和index
。
跟:
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