Python数据分析之groupby语法糖

浏览: 1359

对于dataframe的groupby聚合函数来说,我们适当了解下语法糖,会对数据分析起到事半功倍的效果。

对分组进行迭代

首先看下各字段的类型

import numpy as np
import pandas as pd
import pymysql
conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='test', port=3306, charset='utf8')
jianshu = pd.read_sql('select * from jianshu1',conn)
jianshu.dtypes


可以看出,view这些字段是整数类型的数据,但这里是object数据,所以我们需要进行数据类型的修改,以view为例。

jianshu['view'] = jianshu['view'].astype('int64')
jianshu.dtypes


把user列作为索引。

jianshu.set_index('user',inplace=True)
jianshu


通过分组后的数据类型为groupby对象,可进行迭代。

jianshu.groupby(jianshu.index)

for name,group in jianshu.groupby(jianshu.index):
print(name,group)

语法糖一:选取一个或多个列

jianshu.groupby(jianshu.index)[['view']].sum()


语法糖二:数据聚合
通过aggregate或者agg方法

jianshu.groupby(jianshu.index)[['view']].agg(['mean','sum'])

作者:罗罗攀

链接:http://www.jianshu.com/p/f2482e751cf5

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

推荐 0
本文由 罗罗攀 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册