Python中groupby函数详解(非常容易懂)

本文介绍了Python中Pandas库的groupby函数的使用,包括单类和多类分组。通过实例展示了如何根据地区和类型计算评分的平均值,以及如何对数据进行分组并获取基本统计信息。此外,还讲解了如何进行多类分组并应用多个聚合函数。

一、groupby 能做什么?

groupby函数主要的作用是进行数据的分组以及分组后地组内运算!

于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下:

df[](指输出数据的结果属性名称).groupby([df[属性],df[属性])(指分类的属性,数据的限定定语,可以有多个).mean()(对于数据的计算方式——函数名称)

举例如下:

print(df["评分"].groupby([df["地区"],df["类型"]]).mean())

上面语句的功能是输出表格所有数据中不同地区不同类型的评分数据平均值。

二、单类分组

2.1 创建数据集

lst1 = [['小红', '女', 1, 160], ['大红', '女', 2, 161], ['小明', '男', 1, 180], ['大明', '男', 1, 180], ['小亮', '男', 2, 170]]
lst2 = [['姓名', '性别', '班级', '身高']]
data = pd.DataFrame(lst1, columns = lst2)
data

在这里插入图片描述

data.groupby("性别")

结果为:

<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000018CD0F0AB90>

首先,我们有一个变量data,数据类型是DataFrame

想要按照【性别】进行分组

得到的结果是一个groupby对象,还没有进行任何的运算。

我们可以描述组内数据的基本统计量:

data.groupby('性别').describe()

在这里插入图片描述

只有数字类型的列数据才会计算统计;

示例里面数字类型的数据有两列 【班级】和【身高】;

但是,我们并不需要统计班级的均值等信息,只需要【身高】,所以做一下小的改动:

data.groupby('性别')['身高'].describe()

在这里插入图片描述

三、多类分组

data.groupby(['班级', '性别'])

在这里插入图片描述

data.groupby(['班级', '性别']).mean()

在这里插入图片描述
单独用groupby,我们得到的还是一个 Groupby对象。

我们还可以一次运用多个函数计算:

import numpy as np
data.groupby( ["班级","性别"]).agg([np.sum, np.mean, np.std])

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旅途中的宽~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值