关于stackoverflow,我已经讨论了所有类似的问题,但是解决方案仍然不适合我
我有两个dfs:
df1:
User_ID | Code_1
123 htrh
345 NaN
567 cewr
...
df2:
User_ID | Code_2
123 ert
345 nad
我想根据用户ID将df1.Code\u 1替换为df2.Code\u 2。请注意,df2是df1的用户ID的子集
我试过了
df1['Code_1'] = df1['User_ID'].replace(df2.set_index('User_ID')['Code_2'])
我试过这个
df1.loc[df1.User_ID.isin(df2.User_ID), ['Code_1']] = df2[['Code_2']]
两个都没用。什么都没变
预期产量:
df1:
User_ID | Code_1
123 ert
345 nad
567 cewr
...
谢谢
使用
DataFrame.update
。在调用函数之前,id列(User_ID
)和code列(Code_1
,Code_2
)应该在数据帧中具有相同的名称你的案子就够了。对于其他用途,请参考documentation
您可以使用^{} +^{}
其思想是在执行映射时对齐索引,如果
df2
中不存在映射,则用原始值填充索引你可以先用联合收割机
相关问题 更多 >
编程相关推荐