Pandas 数据框:按两列分组,然后对另一列进行平均

作者:编程家 分类: pandas 时间:2025-07-30

使用Pandas进行分组和求平均

Pandas是一个强大的数据分析工具,它提供了许多便捷的方法来处理和分析数据。其中一个常见的需求是按照某些列进行分组,并对另一列进行求平均。在本文中,我们将介绍如何使用Pandas来实现这个任务,并提供一个案例代码来加深理解。

分组和求平均

在实际的数据分析中,我们经常需要按照某些列的值对数据进行分组,并对另一列的数值进行求平均。例如,我们有一个包含学生姓名、年龄和成绩的数据表,我们想要按照年龄和性别进行分组,并对成绩求平均。这样我们可以得到每个年龄和性别组合的平均成绩。

在Pandas中,我们可以使用`groupby`函数来实现分组操作,并使用`mean`函数来计算平均值。下面是一个简单的示例代码:

 python

import pandas as pd

# 创建一个示例数据框

data = {'姓名': ['张三', '李四', '王五', '赵六', '田七'],

'年龄': [18, 19, 18, 20, 19],

'性别': ['男', '女', '男', '女', '男'],

'成绩': [85, 90, 92, 88, 95]}

df = pd.DataFrame(data)

# 按照年龄和性别进行分组,并计算成绩的平均值

result = df.groupby(['年龄', '性别'])['成绩'].mean()

print(result)

上述代码首先创建了一个包含姓名、年龄、性别和成绩的数据框。然后,我们使用`groupby`函数按照年龄和性别进行分组,并使用`mean`函数计算成绩的平均值。最后,打印出每个年龄和性别组合的平均成绩。

案例代码

接下来,我们将使用一个更具体的案例来演示如何使用Pandas进行分组和求平均。假设我们有一个销售数据表,其中包含了不同地区的销售额信息。我们想要按照地区和产品类型进行分组,并计算每个地区和产品类型组合的平均销售额。

 python

import pandas as pd

# 创建一个示例数据框

data = {'地区': ['北京', '上海', '北京', '上海', '北京', '上海'],

'产品类型': ['手机', '电视', '手机', '电视', '手机', '电视'],

'销售额': [1000, 2000, 1500, 2500, 1200, 1800]}

df = pd.DataFrame(data)

# 按照地区和产品类型进行分组,并计算销售额的平均值

result = df.groupby(['地区', '产品类型'])['销售额'].mean()

print(result)

在上述代码中,我们首先创建了一个包含地区、产品类型和销售额的数据框。然后,我们使用`groupby`函数按照地区和产品类型进行分组,并使用`mean`函数计算销售额的平均值。最后,打印出每个地区和产品类型组合的平均销售额。

本文介绍了如何使用Pandas进行分组和求平均的方法。通过`groupby`函数和`mean`函数,我们可以轻松地按照某些列进行分组,并对另一列进行求平均。这对于数据分析和统计非常有用,能够帮助我们更好地理解数据。

通过案例代码的演示,我们可以看到如何将这些方法应用到实际的数据集上。无论是学生的成绩还是销售数据,都可以通过分组和求平均来获得更有意义的结果。

希望本文能够帮助读者理解和掌握Pandas中分组和求平均的方法,从而更好地进行数据分析和统计。