DF1:
Id val
1 4
3 7
9 2
4 5
Run Code Online (Sandbox Code Playgroud)
DF2:
Id val
1 5
7 2
Run Code Online (Sandbox Code Playgroud)
需要:
Id val
1 5
3 7
9 2
4 5
7 2
Run Code Online (Sandbox Code Playgroud)
我有这些df1和df2,我希望获得所需的df,其中Df1和Df2中的常见ID会更新,并且新的ID将被追加.
我似乎无法找到是否需要使用更新,合并或加入或其他东西.
使用concat与drop_duplicates(注意,顺序可能不保).
pd.concat([df1, df2]).drop_duplicates('Id', keep='last')
Id val
1 3 7
2 9 2
3 4 5
0 1 5
1 7 2
Run Code Online (Sandbox Code Playgroud)
运用 combine_first
df2.set_index('Id').combine_first(df1.set_index('Id')).reset_index()
Out[6]:
Id val
0 1 5.0
1 3 7.0
2 4 5.0
3 7 2.0
4 9 2.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |