根据条件从其他数据框中添加列

时间:2019-12-08 03:35:43

标签: python pandas numpy

我有两个数据框:

df1 = 

ID  Num
a     0
b     0
c     1
d     1

第2个:

df = 

ID
a
a
b
b
c
c
d

我要使用以下规则将Num列添加到df

如果df1中的a0,则a中的每个df应该是0,依此类推。


所需的输出:

df1 = 

ID  Num
a     0
a     0
b     0
b     0
c     1
c     1
d     1

我是在if条件下完成的,但是它看起来很长且很难编码

2 个答案:

答案 0 :(得分:1)

尝试一下:

Warning: Invalid attribute name: 23

输出

nummap = df1.set_index('ID').to_dict()['Num']  
df['Num'] = df['ID'].map(nummap)  

答案 1 :(得分:0)

让我们尝试merge

df=df.merge(df1)
  ID  Num
0  a    0
1  a    0
2  b    0
3  b    0
4  c    1
5  c    1
6  d    1