gpt4 book ai didi

python-3.x - 将两个数据帧相加以获得相等的条目

转载 作者:行者123 更新时间:2023-12-02 19:20:58 26 4
gpt4 key购买 nike

我有两个数据框,A 列中的条目相同,但 B 列和 C 列中的条目不同。对于 A 中的一个条目,一个数据帧有多个条目。

df1
A B C
0 this 3 4
1 is 4 6
2 an 7 9
3 example 12 20
df2
A B C
0 this 11 11
1 this 5 9
2 this 18 7
3 is 12 14
4 an 1 4
5 an 8 12
6 example 3 17
7 example 9 5
8 example 19 6
9 example 7 1

我想对 A 列中相同条目的两个数据帧求和。结果应如下所示:

df3
A B C
0 this 14 15
1 this 8 13
2 this 21 11
3 is 16 20
4 an 8 13
5 an 15 21
6 example 15 37
7 example 21 25
8 example 31 26
9 example 19 21

如何在 pandas 中快速计算这个值?

最佳答案

使用DataFrame.merge向左将数据框 df2 与列 A 上的 df1 合并,然后添加 的列 B、C df2df3B、C 列:

df3 = df2[['A']].merge(df1, on='A', how='left')
df3[['B', 'C']] += df2[['B', 'C']]

结果:

print(df3)
A B C
0 this 14 15
1 this 8 13
2 this 21 11
3 is 16 20
4 an 8 13
5 an 15 21
6 example 15 37
7 example 21 25
8 example 31 26
9 example 19 21

如果顺序不重要,或者另一个可能的想法:

df3 = df2.set_index('A').add(df1.set_index('A')).reset_index()

print(df3)
A B C
0 an 8 13
1 an 15 21
2 example 15 37
3 example 21 25
4 example 31 26
5 example 19 21
6 is 16 20
7 this 14 15
8 this 8 13
9 this 21 11

关于python-3.x - 将两个数据帧相加以获得相等的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63068676/

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