pandas通俗易懂——groupby函数

前言

pandas中的groupby函数功能就如同字面意思,通过某个特征将数据组织起来。只不过其返回值不是DataFrame,而是另一种形式,所以没法直接将groupby的返回值输出出来,其返回值常与.mean()/.count()/.median()等搭配起来输出,下面通过例子说明。

正文

import pandas as pd
from pandas import DataFrame
df = DataFrame({'key1':list('ababa'),
                'key2': ['one','two','one','three','one'],
                'data1': np.arange(0, 5),
                'data2': np.arange(5, 10)})
df.head()

在这里插入图片描述

1. groupby的返回值是什么

df.groupby(['key1'])

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

我们可以看出,直接输出返回值是一个重构格式的DataFrame对象,没法直接拿来用。刚刚说了,groupby的作用是通过某个特征(这里就是“key1”)来组织数据,那这个返回值到底是什么样的形式呢?

返回值是个重构格式的DataFrame,虽然没法直接输出出来,但其实返回值我们可以理解它长这样:
在这里插入图片描述
回想刚刚说的,是不是就是按照“key1”这个特征将数据重新组织起来了,当然这都是我们自己这么理解的,实际可能更复杂。

我们搭配mean()求均值:

df.groupby(['key1']).mean()

在这里插入图片描述
因为“key2”这列都是字符串,所以没法求均值,最后输出没有“key2”这一列,很好理解对吧。

2. groupby中有多个参数情况

上面我们只通过“key1”这一个特征来重新组织数据,如果我们想用"key1"和"key2"两个特征来重新组织呢?那就传两个特征进去:

df.groupby(['key1','key2'])

同理,这时我们可以理解返回值长这样:(实际返回值不是这样的,但我们可以这么理解)
在这里插入图片描述
求一下均值看看:

df.groupby(['key1','key2']).mean()

在这里插入图片描述
END

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SinHao22

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

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

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

打赏作者

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

抵扣说明:

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

余额充值