gpt4 book ai didi

Python:Pandas 数据帧总和

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:48 25 4
gpt4 key购买 nike

我尝试学习如何使用 pandas 数据框。我的数据框有 4 列 A、B、C、D。

对于索引 (A,B,C),D 有多个值。我想合并这些行并对 D 的值求和。

我有:

╔═══╦═══╦═══╦═══╦═══╗
║ ║ A ║ B ║ C ║ D ║
╠═══╬═══╬═══╬═══╬═══╣
║ 1 ║ 1 ║ 2 ║ 3 ║ 5 ║
║ 1 ║ 1 ║ 2 ║ 3 ║ 3 ║
║ 2 ║ 1 ║ 5 ║ 4 ║ 2 ║
║ 2 ║ 1 ║ 2 ║ 4 ║ 2 ║
║ 3 ║ 1 ║ 2 ║ 4 ║ 2 ║
║ 3 ║ 1 ║ 2 ║ 4 ║ 3 ║
╚═══╩═══╩═══╩═══╩═══╝

我想要得到:

╔═══╦═══╦═══╦═══╦═══╗
║ ║ A ║ B ║ C ║ D ║
╠═══╬═══╬═══╬═══╬═══╣
║ 1 ║ 1 ║ 2 ║ 3 ║ 8 ║
║ 2 ║ 1 ║ 5 ║ 4 ║ 2 ║
║ 2 ║ 1 ║ 2 ║ 4 ║ 2 ║
║ 3 ║ 1 ║ 2 ║ 4 ║ 5 ║
╚═══╩═══╩═══╩═══╩═══╝

我尝试这样做:

df=df.groupby(['A','B','C'])['D'].sum()

但它给了我一个系列。

最佳答案

如果您想保留groupby之后的列,您可以调用reset_index:

In [185]:
df.groupby(['A','B','C'])['D'].sum().reset_index()

Out[185]:
A B C D
0 1 2 3 8
1 1 2 4 7
2 1 5 4 2

或传递arg as_index=False

关于Python:Pandas 数据帧总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38093218/

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