博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据科学 第 3 章: 9 累计与分组 groupby
阅读量:6324 次
发布时间:2019-06-22

本文共 1468 字,大约阅读时间需要 4 分钟。

本节学习groupby

引用激励数据,连接数据库jili表(代码省略)

数字简单计算
本节内容前面是运用sum/mean等函数对数字简单计算

jili.mean() #求均值jili.mean(axis = 'columns') #求每行的均值jili.sum()  #求和

groupby:切片计算

groupby的过程:

分割:把dataframe按指定的键分为若干组
应用:对每个组应用函数,通常为累计、转换或过滤
组合:将每组1的结果合并成一个输出数组。

jili.groupby('dep')  #聚合后没有用函数,会返回一个dataframejili.groupby('dep').sum()   #用函数后会显示计算结果

clipboard.png

# 组合dep 之后,切片oldrate,查看group的和。这里是字符,所以显示了group的所有值jili.groupby('dep')['group'].sum()#组合dep 之后,切片oldrate,查看oldrate的和jili.groupby('dep')['oldrate'].sum()

clipboard.png

# 对每个可以计算的字段进行了描述性统计,中间有省略# unstack是上一节索引中的内容,是把多重索引转换为行,具体可以看下面没有用unstack的对比。jili.groupby('dep').describe().unstack()#对groupby之后的结果,切片allbones字段,进行描述性统计jili.groupby('dep')['allbones'].describe()

clipboard.png

groupby:4 种计算方法

1、aggregate:在groupby之后聚合的值上计算

计算方法。如 sum,count,max,std

2、filter:在原来的每个值上做计算,但是在groupby之后做计算

切片 注意filter切片器中一定要有计算方法(summean之类的),否则会报错。

# aggregate可以设定计算方法jili.groupby('dep').aggregate(['min','max'])# filter对allbones列进行了切片,如果dep的allbones均值小于9000,则不显示. # 二部的均值低于9000,所以结果中没有二部数据。jili.groupby('dep').filter(lambda x:x['allbones'].mean() >9000)

clipboard.png

3、transform:在原来的每个值上做计算,但是在groupby之后做计算

转换,把原来的值换为计算后的值

jili.groupby('dep').transform(lambda x:x -x.mean()).head(3)  # x -x.mean()是减取本列的均值def fun(x):    x['allbones'] = x['newbones']-x['oldbones']    return xjili.groupby('dep').apply(fun)

4、apply:

把计算的结果运用到原数据(看下图)

clipboard.png

5、高级用法

#组合为两层jili.groupby(['dep','group']).mean()#组合为两层后,只选allbones的值,然后再转换行列jili.groupby(['dep','group'])['allbones'].sum().unstack()

clipboard.png

以上就是groupby的用法,之前跟着视频学过,但看书的话更详细,下节是透视表,拜拜。

转载地址:http://svmaa.baihongyu.com/

你可能感兴趣的文章
SQLServer 延迟事务持久性
查看>>
atomikos 创建数据源,报Max number of active transactions
查看>>
关于mount在unix系统上
查看>>
linux logrotate 配置
查看>>
【在win7笔记本上启用wifi热点】win7_wlan.bat
查看>>
“智能停车”真的来了——中国移动5G联创携手锐捷推出“小和轻停”
查看>>
Oracle Certified Master For Java EE 5/6 Comes
查看>>
用CURL来实现file_get_contents函数:curl_file_get_contents
查看>>
CentOS安装第三方yum源EPEL
查看>>
JSP中的EL表达式详细介绍
查看>>
puppet部署二 安装puppet
查看>>
电脑文件名称字体变蓝是咋回事?
查看>>
Linux基础知识
查看>>
44. 源代码解读-RocketMQ-架构
查看>>
SVN版本管理系统最佳应用实践
查看>>
sed ‘N,P,D,lable循环’高级应用综合实例
查看>>
依赖属性之“风云再起”
查看>>
Linux中内存buffer和cache的区别
查看>>
在CentOS6上编译安装http2.4
查看>>
Pycharm安装pip pip安装第三方模块
查看>>