数据分组官方文档
分组统计 - groupby功能

  • 根据某些条件将数据拆分成组
  • 对每个组单独使用函数
  • 将结果合并到一个数据结构中

根据单列或多列分组 .groupby()
分组后的对象执行数值计算函数 .sum(),.mean()…
分组后对象同时使用多个函数 --agg()。

df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

参数:

  • by 标签(label)或标签列表
  • axis 默认值为0
  • level MultiIndex时有效
  • as_index 布尔型值 默认是True – 使用grouped的标签作为index.若为False – grouped的标签仍为标签,会新生成0~n-1的index.
  • sort 是否对grouped的标签排序

返回的是GroupBy 对象。通过list(),查看具体内容

df

经过group方法后,得到的是groupby对象,是一个中间数据,没有进行计算

a = df.groupby('A').mean()#单列整合
b = df.groupby(['A','B']).mean()#多列整合


c = df.groupby(['A'])['D'].mean()  # 以A分组,算D的平均值.返回的是Series对象

  • 使用list()将groupby对象变成列表对象,可查看具体内容
list(df.groupby('A'))

列表是两个元组对象。每个元组包含‘A’的标签名和相应的DataFrame或Series。

[('bar',      A      B         C        D1  bar    one  0.953897  0.263753  bar  three  0.190113  1.011155  bar    two  0.941511 -0.51730), ('foo',      A      B         C         D0  foo    one  1.119704 -0.7421482  foo    two  0.643483 -1.1474054  foo    two -0.952974 -0.4342416  foo    one -0.421435  0.9337917  foo  three -0.042118  0.641683)]

  • get_group()
    df.groupby(['A']).get_group('bar')list(df.groupby('A'))[0][1]相同
  • .groups:将分组后的groups转为dict
  • 分组计算函数方法
grouped = df.groupby(['A'])
print(grouped)
print(grouped.first(),'→ first:非NaN的第一个值\n')
print(grouped.last(),'→ last:非NaN的最后一个值\n')
print(grouped.sum(),'→ sum:非NaN的和\n')
print(grouped.mean(),'→ mean:非NaN的平均值\n')
print(grouped.median(),'→ median:非NaN的算术中位数\n')
print(grouped.count(),'→ count:非NaN的值\n')
print(grouped.min(),'→ min、max:非NaN的最小值、最大值\n')
print(grouped.std(),'→ std,var:非NaN的标准差和方差\n')
print(grouped.prod(),'→ prod:非NaN的积\n')
  • 多函数计算:agg()

函数写法可以用str,或者np.方法
求均值和求和

可以通过list,dict传入,当用dict时,key名为columns → 更新pandas后会出现警告

 df.groupby('A')['C'].agg({'result1':np.mean,'result2':np.sum})

pandas(七) -- 数据分组相关推荐

  1. python筛选数据求均值_Python Pandas实现数据分组求平均值并填充nan的示例

    Python实现按某一列关键字分组,并计算各列的平均值,并用该值填充该分类该列的nan值. DataFrame数据格式 fillna方式实现 groupby方式实现 DataFrame数据格式 以下是 ...

  2. pandas学习(数据分组与分组运算、离散化处理、数据合并)

    pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表数 ...

  3. pandas groupby count_数据分析14-利用pandas进行数据分组

    目标: 学会利⽤pandas对数据进⾏分组 知道如何提取分组后的数据 可以按多列进⾏分组 能够对分组后数据进⾏统计计算 测试数据集: 链接:https://pan.baidu.com/s/1QvY-Q ...

  4. 小白学 Python 数据分析(7):Pandas 数据分组

    引言 各位同学好呀,我又出来了,本篇文章我们介绍下 Pandas 的数据分组. 本文用的数据集再次做更换,有同学在后台问小编为什么最近每篇文章都在换数据集. emmmmmmmm,在小白刚入门的时候,很 ...

  5. python transform_Pandas的数据分组-transform函数

    31. Pandas的数据分组-transform函数 pandas有些函数在不同的版本下可能使用功能有些不同,这是个麻烦事情.查看pandas的版本. $ python >>> i ...

  6. 数据分析 第七讲 pandas练习 数据的合并、分组聚合、时间序列、pandas绘图

    文章目录 数据分析 第七讲 pandas练习 数据的合并和分组聚合 一.pandas-DataFrame 练习1 对于这一组电影数据,如果我们想runtime(电影时长)的分布情况,应该如何呈现数据? ...

  7. Pandas简明教程:七、Pandas缺失数据的处理(数据清洗基础)

    文章目录 1.缺失数据的类型 2.定位缺失数据 3.修改定位数据 4.批量修改缺失数据 5.数据修复的利器--插值法(`interpolate`) 本系列教程教程完整目录: 数据清洗的内容其实很丰富, ...

  8. pandas访问分组里面的数据_实战用pandas+PyQt5制作一款数据分组透视处理工具

    早起导读:pandas是Python数据处理的利器,如果每天都要使用pandas执行同样的操作,如何制作一个有界面的软件更高效的完成?本文提供了一种基于PyQt5的实现思路. 关键词:pandas P ...

  9. 数据科学入门与实战:玩转pandas之七数据分箱技术,分组技术,聚合技术

    首先导入相关包 import pandas as pd import numpy as np from pandas import Series,DataFrame #数据分箱技术Binning 数据 ...

最新文章

  1. JSTL+EL表达式方法获取Oracle的Clob字段内容
  2. 一个解决表单中的文字和文本区域(textarea)上对齐的方法
  3. javascript高级程序设计pdf_一个老牌程序员推荐的JavaScript的书籍,看了真的不后悔!...
  4. MySQL使用用户变量优化先更新后查询
  5. PaperNotes(10)-Maximum Entropy Generators for Energy-Based Models
  6. yii2通过url访问类中的方法_行为型设计模式 访问者模式
  7. 旅行商回溯算法C语言,【算法作业】用回溯法求解旅行商问题
  8. android pc投屏,如何解决乐播投屏中投屏失败的问题【乐播投屏】
  9. 修改或删除脚注或尾注的“横线”
  10. 开盘跳空是否透露超额收益?A股跳一跳因子挖掘
  11. Python系列20-Web应用程序-用户账户
  12. zerg发出了第一个报文,纪念一下!!!
  13. 深入浅出pytorch笔记——第一章
  14. 网络压线钳的实验报告_RJ45网线制作实验报告
  15. 推荐多款免费的开源建站系统和内容管理系统
  16. 2021计算机考研时间表,2021计算机考研备考:时间复杂度计算
  17. eslint跳过检测
  18. Ubuntu下的PROXY设置
  19. ILRuntime来实现热更新的优与劣!
  20. wxWidgets中从xrc文件中获取菜单选项的指针

热门文章

  1. HTML Help Workshop制作chm帮助文件和在应用程序中的调用
  2. 含根式的定积分计算_不定积分计算法则总结
  3. python 单元测试_Python 单元测试(unittest)
  4. php去除数组中的第一个元素,php如何删除数组的第一个元素和最后一个元素
  5. java joda 获取utc时间_java – 使用JodaTime以毫秒为单位的UTC到本地时间
  6. 答辩攻略之二:纯方案赛
  7. 收藏 | 700页NLP算法在百度、阿里、腾讯等一线大厂的最佳实践!PDF限时领!
  8. 特征锦囊:怎么批量把特征中的离群点给处理下?
  9. 『森林火灾检测』基于PaddleX实现森林火灾检测
  10. 如何看待第三代神经网络SNN?详解脉冲神经网络的架构原理、数据集和训练方法 原创