我有两个 df,
第一个 df
A B C
1 1 3
1 1 2
1 2 5
2 2 7
2 3 7
第二个df
B D
1 5
2 6
3 4
列B
在两个dfs中具有相同的含义。将列 D
添加到第一个 df 中的相应值的最简单方法是什么?输出应该是:
A B C D
1 1 3 5
1 1 2 5
1 2 5 6
2 2 7 6
2 3 7 4
最佳答案
执行“左转”merge
在您的情况下,在“B”列:
In [206]:
df.merge(df1, how='left', on='B')
Out[206]:
A B C D
0 1 1 3 5
1 1 1 2 5
2 1 2 5 6
3 2 2 7 6
4 2 3 7 4
另一种方法是将第二个 df 上的“B”设置为索引,然后调用 map
:
In [215]:
df1 = df1.set_index('B')
df['D'] = df['B'].map(df1['D'])
df
Out[215]:
A B C D
0 1 1 3 5
1 1 1 2 5
2 1 2 5 6
3 2 2 7 6
4 2 3 7 4
关于python - 两个 DF、pandas 的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163563/