【发布时间】:2019-10-14 18:03:33
【问题描述】:
我有两个数据框,例如 df1 和 df2。
df1:
id code remarks
1 a12
2 b32
3 c12
df2:
id code remarks
1 aaa12 ok
2 b32 done
3 ccc12 not ok
我想根据id 和code 将df1 备注值更新为df2 备注值。
这里的第二个值匹配 (id-2 , code-b32),因此使用 df1 备注列更新备注“完成”的值。
df1 的最终结果如下所示,
df1:
id code remarks
1 a12
2 b32 done
3 c12
到目前为止,我尝试如下,我知道这是不正确的,但我需要这样的东西
df1_key = df1['id'].astype(str) + df1['code'].astype(str)
df2_key = df2['id'].astype(str) + df2['code'].astype(str)
df['flag'] = df1_key.isin(df2_key, df1['remarks']=df2['remarks'])
根据this 的说法,我也尝试了以下方法,但对我不起作用。
df3 = df1.merge(df2[['remarks']], on=['id','code'], how='left')
【问题讨论】:
-
@jezrael ;我已经更新了这个问题。请通过它。