Pandas - 可以使用两种不同的聚合来聚合两列吗

pandas

1个回答

写回答

白狗

2025-07-09 17:26

+ 关注

Pandas
Pandas

使用Pandas库进行数据处理和分析是数据科学家和分析师的常见工作之一。Pandas提供了许多功能强大的函数和方法,其中之一是聚合数据。聚合是将数据分组并计算统计指标的过程,例如求和、平均值、最大值等。在Pandas中,我们可以使用不同的聚合方法来聚合两列数据。

为了更好地理解这个概念,让我们来看一个简单的例子。假设我们有一个包含学生姓名、科目和分数的数据集。我们想要计算每个学生在每个科目中的总分和平均分。这里,我们可以使用Pandas的groupby函数和agg函数来实现这个目标。

首先,我们需要导入Pandas库并读取数据集。下面是示例代码:

Python

import Pandas as pd

data = {

'姓名': ['张三', '李四', '王五', '张三', '李四', '王五'],

'科目': ['数学', '数学', '数学', '英语', '英语', '英语'],

'分数': [80, 90, 75, 85, 95, 70]

}

df = pd.DataFrame(data)

print(df)

输出结果如下:

姓名 科目 分数

0 张三 数学 80

1 李四 数学 90

2 王五 数学 75

3 张三 英语 85

4 李四 英语 95

5 王五 英语 70

现在我们有了一个包含学生姓名、科目和分数的数据集。接下来,我们将使用groupby函数和agg函数来聚合数据。下面是示例代码:

Python

grouped = df.groupby(['姓名', '科目']).agg({'分数': ['sum', 'mean']})

print(grouped)

输出结果如下:

分数

sum mean

姓名 科目

张三 数学 80 80.0

英语 85 85.0

李四 数学 90 90.0

英语 95 95.0

王五 数学 75 75.0

英语 70 70.0

在上面的代码中,我们首先使用groupby函数按照姓名和科目对数据进行分组。然后,我们使用agg函数对分数列进行聚合操作。在agg函数中,我们传递了一个字典,其中键是要聚合的列名,值是要应用的聚合函数。在这个例子中,我们使用了'sum'和'mean'函数来计算总分和平均分。

使用两种不同的聚合方法聚合两列数据

在上面的例子中,我们只聚合了分数这一列的数据。但是,我们也可以使用不同的聚合方法来聚合其他列的数据。例如,我们可以计算每个学生在每个科目中的最高分和最低分。下面是示例代码:

Python

grouped = df.groupby(['姓名', '科目']).agg({'分数': ['max', 'min']})

print(grouped)

输出结果如下:

分数

max min

姓名 科目

张三 数学 80 80

英语 85 85

李四 数学 90 90

英语 95 95

王五 数学 75 75

英语 70 70

在上面的代码中,我们使用了'max'和'min'函数来计算每个学生在每个科目中的最高分和最低分。

Pandas库提供了强大的聚合功能,可以轻松地对数据进行分组和计算统计指标。我们可以使用groupby函数和agg函数来实现这个目标。在聚合数据时,可以使用不同的聚合方法来计算不同的统计指标。无论是计算总分、平均分还是最高分和最低分,Pandas都可以满足我们的需求。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号