Pandas:分组与聚合

高级处理-分组与聚合

分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况

想一想其实刚才的交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过他们主要是计算次数或者计算比例!!看其中的效果:

在这里插入图片描述

1 什么分组与聚合

在这里插入图片描述

2 分组API

  • DataFrame.groupby(key, as_index=False)
    • key:分组的列数据,可以多个
  • 案例:不同颜色的不同笔的价格数据
col =pd.DataFrame({'color': ['white','red','green','red','green'], 'object': ['pen','pencil','pencil','ashtray','pen'],'price1':[5.56,4.20,1.30,0.56,2.75],'price2':[4.75,4.12,1.60,0.75,3.15]})

color	object	price1	price2
0	white	pen	5.56	4.75
1	red	pencil	4.20	4.12
2	green	pencil	1.30	1.60
3	red	ashtray	0.56	0.75
4	green	pen	2.75	3.15
  • 进行分组,对颜色分组,price进行聚合
# 分组,求平均值
col.groupby(['color'])['price1'].mean()
col['price1'].groupby(col['color']).mean()

color
green    2.025
red      2.380
white    5.560
Name: price1, dtype: float64

# 分组,数据的结构不变
col.groupby(['color'], as_index=False)['price1'].mean()

color	price1
0	green	2.025
1	red	2.380
2	white	5.560

3 星巴克零售店铺数据

现在我们有一组关于全球星巴克店铺的统计数据,如果我想知道美国的星巴克数量和中国的哪个多,或者我想知道中国每个省份星巴克的数量的情况,那么应该怎么办?

数据来源:https://www.kaggle.com/starbucks/store-locations/data

在这里插入图片描述

3.1 数据获取

从文件中读取星巴克店铺数据

# 导入星巴克店的数据
starbucks = pd.read_csv("./data/starbucks/directory.csv")

3.2 进行分组聚合

# 按照国家分组,求出每个国家的星巴克零售店数量
count = starbucks.groupby(['Country']).count()

画图显示结果

count['Brand'].plot(kind='bar', figsize=(20, 8))
plt.show()

在这里插入图片描述

假设我们加入省市一起进行分组

# 设置多个索引,set_index()
starbucks.groupby(['Country', 'State/Province']).count()

在这里插入图片描述

仔细观察这个结构,与我们前面讲的哪个结构类似??

与前面的MultiIndex结构类似

相关推荐

  1. pandas分组聚合练习

    2024-04-30 20:00:01       35 阅读
  2. 数据分析Pandas 分组聚合

    2024-04-30 20:00:01       43 阅读
  3. 【Python数据分析Pandas_聚合函数

    2024-04-30 20:00:01       35 阅读
  4. Pandas分组聚合】 groupby()、agg() 方法的使用

    2024-04-30 20:00:01       67 阅读
  5. Pandas 进阶 —— 数据转换、聚合可视化

    2024-04-30 20:00:01       26 阅读
  6. python&Pandas五:数据分析统计

    2024-04-30 20:00:01       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 20:00:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 20:00:01       97 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 20:00:01       78 阅读
  4. Python语言-面向对象

    2024-04-30 20:00:01       88 阅读

热门阅读

  1. Czi.算法学习(三)

    2024-04-30 20:00:01       33 阅读
  2. 表达式解析器MVEL的了解

    2024-04-30 20:00:01       31 阅读
  3. MSP未来趋势

    2024-04-30 20:00:01       28 阅读
  4. 【Spring AI】前言

    2024-04-30 20:00:01       28 阅读
  5. 【多维动态规划】Leetcode 72. 编辑距离【中等】

    2024-04-30 20:00:01       28 阅读
  6. Redis使用手册之字符串

    2024-04-30 20:00:01       33 阅读
  7. AtCoder Beginner Contest 351 A题 The bottom of the ninth

    2024-04-30 20:00:01       30 阅读