最近处理数据需要分组计算,又用到了groupby函数,温故而知新。

分组运算的第一阶段,pandas 对象(无论是 Series、DataFrame 还是其他的)中的数据会根据你所提供的一个或多个键被拆分(split)为多组。拆分操作是在对象的特定轴上执行的。例如,DataFrame 可以在其行(axis=0)或列(axis=1)上进行分组。然后,将一个函数应用到各个分组并产生一个新值。最后,所有这些函数的执行结果会被合并到最终的结果对象中。结果对象的形式一般取决于数据上所执行的操作。

举例说明,生成随机DataFrame数据

输入

df = DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],'data1':np.random.randn(5),'data2':np.random.randn(5)})

输出df


假设我们想要按 key1 进行分组,并计算 data1 列的平均值。

输入

df['data1'].groupby(df['key1']).mean() or df.groupby('key1')['data1'].mean()

输出

key1
a    0.310092
b   -0.785952
Name: data1, dtype: float64

假设我们想要按 key1 ,key2进行分组,并计算 data1 列的平均值。

输入

df['data1'].groupby([df['key1'],df['key2']]).mean() or df.groupby(['key1','key2'])[['data1']].mean()

输出

key1  key2
a     one    -0.078753two     1.087782
b     one    -1.346429two    -0.225475
Name: data1, dtype: float64

另外,我们可以对分组进行迭代,以多重键为例:

输入

for name,group in df.groupby('key1'):print (name)print (group)

输出

adata1     data2 key1 key2
0  0.033971  0.066088    a  one
1  1.087782 -0.095748    a  two
4 -0.191477 -0.057805    a  one
bdata1     data2 key1 key2
2 -1.346429  0.648059    b  one
3 -0.225475  1.440988    b  two

参考资料:《利用python进行数据分析》

转载于:https://www.cnblogs.com/mtcnn/p/9411633.html

python库学习笔记——分组计算利器:pandas中的groupby技术相关推荐

  1. 深度学习常用python库学习笔记

    深度学习常用python库学习笔记 常用的4个库 一.Numpy库 1.数组的创建 (1)np.array() (2)np.zeros() (3)np.ones() (4)np.empty() (5) ...

  2. H.266/VVC相关技术学习笔记16:VTM6.0中的CIIP技术(帧内帧间联合预测)

    今天讲一下目前VTM6.0版本中的CIIP技术,CIIP即为帧内帧间联合预测技术,这属于Merge系列的一个分支. 该技术需要先计算当前预测块的帧内预测值,即用Planar.DC.角度预测等传统的帧内 ...

  3. Python 库学习笔记—— BeautifulSoup 处理子标签、后代标签、兄弟标签和父标签

    首先,我们来看一个简单的网页https://www.pythonscraping.com/pages/page3.html,打开后: 右键"检查"(谷歌浏览器)查看元素: 用导航树 ...

  4. Python学习笔记(十七)——Pandas库

    数组只能存储一种类型的数据, 同时, 数组提供了许多方便统计计算的功能 (如平均值 mean .标准差 std 等) pandas与numpy的区别 pandas 是基于 numpy 数组构的, 但 ...

  5. python xlwings 切片_Python xlwings库学习笔记(1)

    Python xlwings库学习笔记(1) Python是最近几年很火的编程语言,被办公自动化的宣传吸引入坑,办公自动化必然绕不开Excel的操作,能操作Excel的库有很多,例如: xlrd xl ...

  6. python标准库学习笔记

    原创:python标准库学习笔记 数据结构 bisect 模块里实现了一个向列表插入元素时也会顺便排序的算法. struct - 二进制数据结构:用途:在 Python 基本数据类型和二进制数据之间进 ...

  7. 全国计算机等级考试二级Python精品题库学习笔记1

    全国计算机等级考试二级Python精品题库学习笔记1 精品试卷01 精品试卷01程序题 基本操作题 2:随机验证码 基本操作题 3:比赛成绩计算 Turtle 绘图题:同心圆 简单应用题 2:员工工资 ...

  8. python数据挖掘学习笔记】十.Pandas、Matplotlib、PCA绘图实用代码补充

    #2018-03-23 18:56:38 March Friday the 12 week, the 082 day SZ SSMR https://blog.csdn.net/eastmount/a ...

  9. Python pillow库学习笔记

    Python pillow库学习笔记 PIL( Python Imaging Library)是 Python 的第三方图像处理库,由于其功能丰富,API 简洁易用,因此深受好评. 自 2011 年以 ...

最新文章

  1. 工作中用不到的技术要不要学?
  2. pythonGB2312乱码问题
  3. 【技术综述】有三AI不得不看的技术综述
  4. VTK:PolyData之ExtractSelectionCells
  5. Windows XP系统的“恢复”办法
  6. c语言编写考试程序,c语言考试编写三个程序:1.从键盘输入一些字符,逐个把它们送到磁? 爱问知识人...
  7. CCF201412-2 Z字形扫描
  8. mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法
  9. 计算机应用新教程,计算机应用基础教学教程(新).doc
  10. uni-app云打包成ipa文件安装到iPhone上全过程记录
  11. android studio调试时在断点停不下来
  12. cnn实现手写识别字体代码详解
  13. 2022 CCF中国软件大会(CCF Chinasoft)“CCF-华为胡杨林基金-系统软件专项”论坛成功召开...
  14. 在ipad上播放flash大集合
  15. echarts修改数据视图格式
  16. 区块链行业领袖汇聚一堂,共同畅谈IEO
  17. Pytorch官方文档英语翻译
  18. 外国程序员应该访问的最佳网站
  19. Mysql 多表联合更新
  20. 北斗GPS定位系统原理

热门文章

  1. asp 导出excel数据 fso 单元格格式
  2. npm与Yarn命令对比
  3. 微软Office Online服务安装部署及wopi代码实现--------域控制服务器安装
  4. 机房合作--gitee的使用
  5. 个人机房重构--七层实现登录
  6. Nexus安装及配置
  7. 给wxPython事件处理函数传递参数
  8. PO,VO,DAO,BO,POJO 之间的区别你懂吗?
  9. 远望资本田鸿飞:中国产业互联网的关键是AI赋能
  10. 统治软件开发中的著名定律