gpt4 book ai didi

python - 在不更改原始列名的情况下合并 pandas DataFrame

转载 作者:行者123 更新时间:2023-11-28 20:00:51 35 4
gpt4 key购买 nike

我想在某些条件下组合 2 个数据帧。我想我需要 pd.merge 和 pd.concat 的聚合特性,我通读了所有示例 here但仍然没有找到解决我问题的信息。

左:

key1  key2  valueX  valueY
A a1 1 4
B b1 2 5
C c1 3 6

右:

key1  key2  valueX  valueY
A a1 7 10
B b2 8 11
C c1 9 12

我想把它们结合起来,所以是

  • 合并到 axis=1 上的 2 个键上
  • 外连接
  • 保持 ValueX, valueY 名称不变,只是在右边追加具有相同列名的新列

如下所示:

    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

最佳答案

使用 merge 执行 FULL OUTER JOIN,然后删除后缀。

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

关于python - 在不更改原始列名的情况下合并 pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259619/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com