python中groupby函数详解

17,316 阅读1分钟

前言

  示例数据:数据

一、groupby能做什么?

  groupby是python的一个分组函数,它可以实现数据的分组及组内运算。

  它的使用规则如下:

  \color{red}{data}(指数据的属性名称)\color{red}{.groupby(data[属性], data[属性])}(指分类的属性,可以有多个)\color{red}{.sum()}(对于数据的计算方式)

  举例如下:

data.groupby(data['商品大类'])['金额'].sum()

  该句表示计算data数据中不同类别商品金额的总值。

  上述代码也可以修改为:

data['金额'].groupby(data['商品大类']).sum()

  二者的意思相同,二者的输出也是一样的。

二、添加多个分类属性

data['金额'].groupby([data["商品大类"],data["商品二级类"]]).sum()

  (切记一定要将分类的属性放到一个列表中)

  上述代码表示计算不同大类商品中不同二级类对应的总金额。结果如下:

三、时间分组

  时间也可用于作为分组依据。

  首先将属性“支付时间”转化为可以直接使用的时间格式。

data['支付时间'] = pd.to_datetime(data['支付时间'])

  然后计算每个月份的销售额。

data['金额'].groupby([data['支付时间'].dt.month]).sum()

  当然,month也可以修改为day,即修改为每天

四、其它计算方式

  上述示例全部以sum函数为例,其实和groupby搭配使用的还有很多计算函数。

  • mean:均值
  • max:最大值
  • min:最小值
  • size:大小
  • var:方差
  • ……

  更多函数参考此网址:pandas.pydata.org/docs/refere…

参考

pandas官方文档