为了账号安全,请及时绑定邮箱和手机立即绑定

Python数据分析之dataframe的groupby

标签:
Java Python

大家都知道数据库有groupby函数,今天给大家讲讲dataframe的groupby函数。

groupby函数

还是以上文的数据为例子,进行讲解,首先读入数据,通过groupby聚合数据。(该数据为简书it互联网一段时间的文章收录信息)

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

https://img1.sycdn.imooc.com//5d53f9860001a20705810449.jpg


可以看出返回的有用户id和所在的索引位置以及数据类型。通过下面代码计算有多少用户。

len(group_user.groups)#result 543

通过size方法进行统计显示:

size_user = group_user.size()
size_user

https://img1.sycdn.imooc.com//5d53f98a000167da02690720.jpg


进行排序,取前十的用户。

sort_user = size_user.sort_values(ascending=False)
sort_user[0:10]

https://img1.sycdn.imooc.com//5d53f98f0001ff2c02510289.jpg

highcharts绘图

import charts
series = [{'name': 'Apple','data': [10],'type': 'column'},{'name': 'Android','data': [5],'type': 'column'},{'name': 'Other','data': [5],'type': 'column'}]
charts.plot(series,show='inline')

https://img1.sycdn.imooc.com//5d53f99400013f4508570610.jpg


我们需要把数据整合为highcharts能识别的数据结构,然后进行绘制。

series1 = []for i in a.index:
    data = {        'name':i,        'data':[a[i]],        'type':'column'
    }
    series1.append(data)
charts.plot(series1,options=dict(title=dict(text='投稿前十用户')))

https://img1.sycdn.imooc.com//5d53f9970001140208860593.jpg


这里的a是前十的用户数据,也就是sort_user[0:10]。
最后祝愿全天下母亲节日快乐



作者:罗罗攀
链接:https://www.jianshu.com/p/7032d7f33ff4


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消