我有两个数据帧,其中df1
如下:
id Status Colour
1 On Blue
19 On Red
4 On Green
56 On Blue
df2
看起来
id Status
19 Off
4 Even
如果两个数据帧中都存在Status
,我试图用df1
中的Status
替换df2
中的id
数据框看起来像:
id Status Colour
1 On Blue
19 Off Red
4 Even Green
56 On Blue
我可以使用以下方法在df1
中标识要更改的字段:
df1.loc[df1['id'].isin(df2['id']), 'Status'] = referenced date
但是我看不到如何识别df2
中的字段以传递给df1
(上述等号右侧的部分)
如果有人能让我知道我该怎么做,请问我将不胜感激吗?
谢谢
答案 0 :(得分:1)
使用Series.map
,用fillna
替换不匹配的缺失值:
df1['Status'] = df1['id'].map(df2.set_index('id')['Status']).fillna(df1['Status'])
print (df1)
id Status Colour
0 1 On Blue
1 19 Off Red
2 4 Even Green
3 56 On Blue
答案 1 :(得分:0)
尝试如下
env['x_duties'].create({'x_name': 'example'})