gpt4 book ai didi

python - 如何将数据帧与 pandas 中的冗余行结合起来

转载 作者:行者123 更新时间:2023-12-01 01:58:33 25 4
gpt4 key购买 nike

我想将两个具有不同且重叠列的数据框组合在一起:

df1
X a Y b c
A P 1 Q 21 1.135899
B P 2 Q 22 1.093204
C P 3 Q 23 2.035373
D P 4 Q 24 0.350060
E P 5 Q 25 -0.939962

df2
a b d
A 1 21 5.5
A 1 21 3.3
A 1 21 2.1
B 2 22 0.8
B 2 22 0.5
C 3 23 1.3
C 3 23 6.5
C 3 23 7.1

我想以这种方式组合两个数据框:

df3
a b c d
A 1 21 1.135899 5.5
A 1 21 1.135899 3.3
A 1 21 1.135899 2.1
B 2 22 1.093204 0.8
B 2 22 1.093204 0.5
C 3 23 2.035373 1.3
C 3 23 2.035373 6.5
C 3 23 2.035373 7.1

我怎样才能实现这个目标?

最佳答案

尝试左合并。要维护索引,您需要在页边之前使用 reset_index 并在页边之后使用 set_index

res = df2.reset_index()\
.merge(df1, how='left')\
.set_index('index')\
.loc[:, ['a', 'b', 'c', 'd']]

print(res)

# a b c d
# index
# A 1 21 1.135899 5.5
# A 1 21 1.135899 3.3
# A 1 21 1.135899 2.1
# B 2 22 1.093204 0.8
# B 2 22 1.093204 0.5
# C 3 23 2.035373 1.3
# C 3 23 2.035373 6.5
# C 3 23 2.035373 7.1

关于python - 如何将数据帧与 pandas 中的冗余行结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49919217/

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