大家都知道数据库有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

7032d7f33ff4?open_source=weibo_search

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

len(group_user.groups)

#result 543

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

size_user = group_user.size()

size_user

7032d7f33ff4?open_source=weibo_search

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

sort_user = size_user.sort_values(ascending=False)

sort_user[0:10]

7032d7f33ff4?open_source=weibo_search

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')

7032d7f33ff4?open_source=weibo_search

我们需要把数据整合为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='投稿前十用户')))

7032d7f33ff4?open_source=weibo_search

这里的a是前十的用户数据,也就是sort_user[0:10]。

最后祝愿全天下母亲节日快乐

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐