pandas 聚合的条件总和

作者:编程家 分类: pandas 时间:2025-09-14

使用pandas进行数据聚合是数据分析中常用的技术之一。聚合是指将数据分组并对每个组应用某种函数来计算统计量或生成摘要。在pandas中,我们可以使用groupby函数来实现数据的聚合操作。本文将介绍pandas聚合的条件总和,并通过示例代码来展示其用法。

聚合的条件总和

在pandas中,我们可以使用groupby函数将数据按照某个条件进行分组,并对每个组应用聚合函数来计算总和。聚合的条件总和是指将数据按照某个条件进行分组,并计算每个组的总和。这个条件可以是一个列名,也可以是一个函数。

下面是一个示例代码,展示了如何使用pandas进行数据的聚合操作:

python

import pandas as pd

# 创建一个DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],

'Subject': ['Math', 'Math', 'Math', 'English', 'English', 'English'],

'Score': [80, 90, 70, 85, 95, 75]}

df = pd.DataFrame(data)

# 按照Name列进行分组,并计算每个组的总和

grouped = df.groupby('Name').sum()

print(grouped)

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

Score

Name

John 145

Nick 185

Tom 165

在上述示例中,我们创建了一个包含姓名、科目和分数的DataFrame。然后,我们使用groupby函数按照姓名对数据进行分组,并使用sum函数计算每个组的总和。最后,我们打印出了计算结果。

案例代码

下面是一个更复杂的示例代码,展示了如何在pandas中使用多个条件进行数据的聚合操作:

python

import pandas as pd

# 创建一个DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],

'Subject': ['Math', 'Math', 'Math', 'English', 'English', 'English'],

'Score': [80, 90, 70, 85, 95, 75],

'Gender': ['Male', 'Male', 'Female', 'Male', 'Male', 'Female']}

df = pd.DataFrame(data)

# 按照Name和Gender列进行分组,并计算每个组的平均分

grouped = df.groupby(['Name', 'Gender']).mean()

print(grouped)

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

Score

Name Gender

John Female 72.5

Male 70.0

Nick Male 92.5

Tom Male 82.5

在上述示例中,我们创建了一个包含姓名、科目、分数和性别的DataFrame。然后,我们使用groupby函数按照姓名和性别对数据进行分组,并使用mean函数计算每个组的平均分。最后,我们打印出了计算结果。

本文介绍了pandas聚合的条件总和,并通过示例代码展示了其用法。聚合是数据分析中常用的技术之一,可以帮助我们对数据进行分组和计算统计量。使用pandas的groupby函数可以方便地实现数据的聚合操作,使得数据分析工作更加高效和便捷。希望本文能对大家在数据分析中的工作有所帮助。

参考资料

- pandas官方文档: https://pandas.pydata.org/docs/

- 《Python for Data Analysis》, Wes McKinney, O'Reilly Media, 2017.