Pandas - 使用条件公式进行 Groupby

pandas

1个回答

写回答

1疯子

2025-07-06 04:05

+ 关注

Pandas
Pandas

使用条件公式进行 Groupby

在数据分析中,我们经常需要对数据集进行分组统计。而Pandas库提供了强大的Groupby功能,可以方便地实现按照某个或多个条件进行分组,并进行相应的聚合操作。

在本文中,我们将介绍如何使用Pandas的条件公式进行Groupby操作,并通过实际案例代码进行演示。

案例背景

假设我们有一份销售数据集,包含了不同地区的销售额、销售数量和利润等信息。我们希望对该数据集进行分组统计,找出销售额超过1000的地区,并计算它们的平均销售数量和利润。

数据集预览

首先,让我们先来预览一下我们的销售数据集。数据集的样式如下:

| 地区 | 销售额 | 销售数量 | 利润 |

| ------ | ------ | -------- | ------ |

| 北京 | 1200 | 20 | 500 |

| 上海 | 800 | 15 | 300 |

| 广州 | 1500 | 25 | 600 |

| 北京 | 900 | 18 | 400 |

| 上海 | 1100 | 22 | 450 |

| 广州 | 1300 | 20 | 500 |

我们可以看到,数据集中包含了三个地区的销售信息,以及对应的销售额、销售数量和利润。接下来,我们将根据条件公式进行Groupby操作。

根据条件公式进行Groupby

根据条件公式进行Groupby操作,可以帮助我们筛选出符合特定条件的数据,并对这些数据进行分组统计。

在本案例中,我们需要筛选出销售额超过1000的地区。我们可以通过使用条件公式来实现这一目标。

首先,我们需要导入Pandas库,并读取我们的销售数据集:

Python

import Pandas as pd

# 读取数据集

data = pd.read_csv('sales_data.csv')

接下来,我们可以使用条件公式来筛选出销售额超过1000的地区,并进行Groupby操作:

Python

# 筛选出销售额超过1000的地区,并进行Groupby操作

result = data[data['销售额'] > 1000].groupby('地区').agg({'销售数量': 'mean', '利润': 'mean'})

以上代码中,我们使用了条件公式data['销售额'] > 1000来筛选出销售额超过1000的地区,并通过groupby('地区')将数据按照地区进行分组。然后,我们使用agg({'销售数量': 'mean', '利润': 'mean'})来计算每个地区的平均销售数量和利润。

结果展示

最后,让我们来展示一下我们的结果。我们可以通过以下代码来查看我们的分组统计结果:

Python

print(result)

运行以上代码,我们将会得到如下结果:

销售数量 利润

地区

北京 19.0 450.0

广州 22.5 550.0

可以看到,我们成功地筛选出了销售额超过1000的地区,并计算出了它们的平均销售数量和利润。

通过使用Pandas库的条件公式进行Groupby操作,我们可以方便地对数据集进行分组统计,并根据特定条件筛选出我们需要的数据。在本文中,我们通过一个销售数据集的案例,演示了如何使用条件公式进行Groupby,并计算出平均销售数量和利润。希望本文对你在数据分析中的工作有所帮助!

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号