Python数据分析之groupby语法糖

对于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
3629157-939d5bce211102f6.jpg

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

jianshu['view'] = jianshu['view'].astype('int64')
jianshu.dtypes
3629157-6c22b4b87a1b85d2.jpg

把user列作为索引。

jianshu.set_index('user',inplace=True)
jianshu
3629157-c65836200fae921d.jpg

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

jianshu.groupby(jianshu.index)
3629157-dffb9e96ed127fe4.jpg
for name,group in jianshu.groupby(jianshu.index):
    print(name,group)
3629157-c974e9ea8c9802bf.jpg

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

jianshu.groupby(jianshu.index)[['view']].sum()
3629157-b62dfb7f2246d98a.jpg

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

jianshu.groupby(jianshu.index)[['view']].agg(['mean','sum'])
3629157-c9a3589246b2c747.jpg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值