我有 2 个数据框,如下所示:

Dataframe1:
i   j
3   4
5   6
7   2

Dataframe2:
k   n
1   a
2   b
3   c
4   d
5   e
6   f
7   g
8   h

我如何合并这 2 个数据帧,使得第一个数据帧上的关键元素既是 i 又是 j,而第二个数据帧上的关键元素是 k,结果是:
Dataframe1:
i   j   ni   nj
3   4   c   d
5   6   e   f
7   2   g   b

最佳答案

您可以通过使用 map 创建的 Series 使用 set_index ,也必须列 k 必须是唯一的:

s = df2.set_index('k')['n']
df1['ni'] = df1['i'].map(s)
df1['nj'] = df1['j'].map(s)
print (df1)

   i  j ni nj
0  3  4  c  d
1  5  6  e  f
2  7  2  g  b

关于python - 在 2 个数据帧中执行合并,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43619061/

10-12 21:44