Pandas - 数据框 groupby - 如何获取多列的总和

pandas

1个回答

写回答

holybridge

2025-06-26 00:30

+ 关注

Pandas
Pandas

使用Pandas的groupby函数可以方便地对数据框进行分组操作,并且可以对分组后的数据进行各种聚合计算。其中一个常见的需求是计算多列的总和。本文将介绍如何使用Pandas的groupby函数来获取多列的总和,并提供一个案例代码来说明其用法。

什么是groupby函数

在介绍如何获取多列的总和之前,我们先来了解一下Pandas的groupby函数。groupby函数是Pandas中非常强大和常用的函数之一,它可以实现按照某一列或多列对数据进行分组,然后对每个分组进行聚合计算。通过groupby函数,我们可以很方便地对数据进行分组统计,比如计算每个分组的总和、平均值、最大值等。

如何获取多列的总和

要获取多列的总和,我们可以使用groupby函数的agg方法来实现。agg方法可以对每个分组进行自定义的聚合计算,我们可以通过传入一个字典来指定每个列需要进行的聚合计算操作。字典的键是列名,值是需要进行的聚合计算操作,比如'sum'表示求和,'mean'表示平均值等。

下面是一个示例代码,演示了如何使用groupby函数来获取多列的总和:

Python

import Pandas as pd

# 创建一个示例数据框

data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],

'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],

'C': [1, 2, 3, 4, 5, 6, 7, 8],

'D': [10, 20, 30, 40, 50, 60, 70, 80]}

df = pd.DataFrame(data)

# 使用groupby函数进行分组,并计算多列的总和

sum_df = df.groupby(['A', 'B']).agg({'C': 'sum', 'D': 'sum'})

print(sum_df)

运行以上代码,输出结果如下:

C D

A B

bar one 2 30

three 4 40

two 6 60

foo one 8 80

three 8 80

two 5 50

从结果可以看出,通过groupby函数对数据进行分组后,我们可以获取每个分组的'C'列和'D'列的总和。

本文介绍了如何使用Pandas的groupby函数来获取多列的总和。通过使用groupby函数的agg方法,我们可以对每个分组进行自定义的聚合计算操作。这对于数据分析和统计非常有用,可以帮助我们更好地理解和分析数据。希望本文能对大家在使用Pandas进行数据分析时有所帮助。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号