我有两个数据帧,分别为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
我想使用基于df1
和df2
的{{1}}注释值更新id
注释值。
这里第二个值匹配(code
),因此用id-2 , code-b32
备注列更新备注'done'的值。
df1
的最终结果如下所示,
df1
到目前为止,我尝试如下所示,我知道这是不正确的,但是我需要这样的东西
df1:
id code remarks
1 a12
2 b32 done
3 c12
根据this,我也尝试了以下方法,但对我没有用。
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'])
答案 0 :(得分:0)
将DataFrame.merge
与按列表过滤的列一起使用:
ToolStripButton
或通过DataFrame.drop
:
{
"name": "test",
"version": "1.0.0",
"description": "test",
"author": "test",
"license": "ISC",
"dependencies": {
"del": "^3.0.0",
"i": "^0.3.6"
},
"devDependencies": {
"parcel-bundler": "^1.12.3"
},
"scripts": {
"start": "parcel src/pages/index.html"
}
}