当前位置:懂科普 >

生活妙招

> pandas groupby

pandas groupby

在Pandas中,社交领域将用户根据画像(性别、年龄)进行细分,研究用户的使用情况和偏好等主要运用groupby完成。

pandas groupby

Groupby的基本原理:

在pandas中,实现分组操作的代码很简单,仅需一行代码,在这里,将上面的数据集按照company字段进行划分

In [5]: group = data.groupby("company")

将上述代码输入ipython后,会得到一个DataFrameGroupBy对象

In [6]: group

Out[6]: <pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002B7E2650240>

那这个生成的DataFrameGroupBy是啥呢?对data进行了groupby后发生了什么?ipython所返回的结果是其内存地址,并不利于直观地理解,为了看看group内部究竟是什么,这里把group转换成list的形式来看:

In [8]: list(group)

Out[8]:

[('A',   company  salary  age

  3       A      20   22

  6       A      23   33), 

 ('B',   company  salary  age

  4       B      10   17

  5       B      21   40

  8       B       8   30), 

 ('C',   company  salary  age

  0       C      43   35

  1       C      17   25

  2       C       8   30

  7       C      49   19)]

转换成列表的形式后,可以看到,列表由三个元组组成,每个元组中,第一个元素是组别(这里是按照company进行分组,所以最后分为了A,B,C),第二个元素的是对应组别下的DataFrame,整个过程可以图解如下:

pandas groupby 第2张

总结来说,groupby的过程就是将原有的DataFrame按照groupby的字段(这里是company),划分为若干个分组DataFrame,被分为多少个组就有多少个分组DataFrame。所以说,在groupby之后的一系列操作(如agg、apply等),均是基于子DataFrame的操作。

标签: groupby pandas
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/shenghuomiaozhao/4e85m8.html