Python数据分析之dataframe的groupby

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

groupby函数

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

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)
group_user = jianshu.groupby('user')
group_user.groups
3629157-43e6c7ba0d8053dc.jpg

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

len(group_user.groups)
#result 543

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

size_user = group_user.size()
size_user
3629157-30d29c6ef8989069.jpg

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

sort_user = size_user.sort_values(ascending=False)
sort_user[0:10]
3629157-c3538fa93a54a807.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')
3629157-43ff1d97980c3eb5.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='投稿前十用户')))
3629157-8a9223ee804e382e.jpg

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值