Ali*_*ice 3 python merge join dataframe pandas
我想将 2 个数据框与某些条件结合起来。我认为我需要 pd.merge 和 pd.concat 的聚合功能,我通读了这里的所有示例,但仍然没有找到解决我的问题的信息。
左边:
key1 key2 valueX valueY
A a1 1 4
B b1 2 5
C c1 3 6
Run Code Online (Sandbox Code Playgroud)
正确的:
key1 key2 valueX valueY
A a1 7 10
B b2 8 11
C c1 9 12
Run Code Online (Sandbox Code Playgroud)
我想将它们结合起来,所以它是
像下面这样:
key1 key2 valueX valueY valueX valueY
A a1 1 4 7 10
B b1 2 5 nan nan
B b2 nan nan 8 11
C c1 3 6 9 12
Run Code Online (Sandbox Code Playgroud)
使用 执行 FULL OUTER JOIN merge,然后删除后缀。
u = left.merge(right, on=['key1', 'key2'], suffixes=('', '__2'), how='outer')
u.columns = u.columns.str.replace('__2', '')
u
key1 key2 valueX valueY valueX valueY
0 A a1 1.0 4.0 7.0 10.0
1 B b1 2.0 5.0 NaN NaN
2 C c1 3.0 6.0 9.0 12.0
3 B b2 NaN NaN 8.0 11.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5941 次 |
| 最近记录: |