#df.groupby.agg ( arg,  *args,  **kwargs )
#聚合:使用可调用、字符串、dict或字符串/可调用列表进行聚合import pandas as pddf = pd.DataFrame({'A':['a','a','b','c','b','c','d'],'B':[4,5,3,6,7,3,2],'C':[22,21,43,55,31,55,66],'D':[123,223,441,554,234,665,772]})
print(df)
#分组
df_groupby = df.groupby('A')
print('组内的键值:\n{}'.format(df_groupby.groups.keys()))
print("观察其中某组 'a':\n{}".format(df.iloc[df_groupby.groups['a']]))
print('查看所有分组:')
for index,data in df_groupby:print(index)print(data)
#多列分组
df_grb_morecols = df.groupby(['A','B'])
print('组内的键值:\n{}'.format(df_grb_morecols.groups.keys()))
print("观察其中某组 ('a', 4):\n{}".format(df.iloc[df_grb_morecols.groups[('a', 4)]]))
print('查看所有分组:')for index,data in df_grb_morecols:print(index)print(data)
#聚合
#默认情况对分组之后其他列进行聚合df_agg = df.groupby('A').agg(['min','mean','max'])
print(df_agg)
#对分组后的部分列进行聚合
#某些情况,只需要对部分数据进行不同的聚合操作,可以通过字典来构建
num_agg = {'C':['min','mean','max']}
print('部分列进行聚合:\n{}'.format(df.groupby('A').agg(num_agg)))num_agg = {'C':['min','mean','max'],'D':['min','max']}
print('部分列进行聚合:\n{}'.format(df.groupby('A').agg(num_agg)))

输出结果:

   A  B   C    D
0  a  4  22  123
1  a  5  21  223
2  b  3  43  441
3  c  6  55  554
4  b  7  31  234
5  c  3  55  665
6  d  2  66  772
组内的键值:
dict_keys(['a', 'b', 'c', 'd'])
观察其中某组 'a':A  B   C    D
0  a  4  22  123
1  a  5  21  223
查看所有分组:
aA  B   C    D
0  a  4  22  123
1  a  5  21  223
bA  B   C    D
2  b  3  43  441
4  b  7  31  234
cA  B   C    D
3  c  6  55  554
5  c  3  55  665
dA  B   C    D
6  d  2  66  772
组内的键值:
dict_keys([('a', 4), ('a', 5), ('b', 3), ('b', 7), ('c', 3), ('c', 6), ('d', 2)])
观察其中某组 ('a', 4):A  B   C    D
0  a  4  22  123
查看所有分组:
('a', 4)A  B   C    D
0  a  4  22  123
('a', 5)A  B   C    D
1  a  5  21  223
('b', 3)A  B   C    D
2  b  3  43  441
('b', 7)A  B   C    D
4  b  7  31  234
('c', 3)A  B   C    D
5  c  3  55  665
('c', 6)A  B   C    D
3  c  6  55  554
('d', 2)A  B   C    D
6  d  2  66  772B            C              D            min mean max min  mean max  min   mean  max
A
a   4  4.5   5  21  21.5  22  123  173.0  223
b   3  5.0   7  31  37.0  43  234  337.5  441
c   3  4.5   6  55  55.0  55  554  609.5  665
d   2  2.0   2  66  66.0  66  772  772.0  772
部分列进行聚合:C          min  mean max
A
a  21  21.5  22
b  31  37.0  43
c  55  55.0  55
d  66  66.0  66
部分列进行聚合:C              D     min  mean max  min  max
A
a  21  21.5  22  123  223
b  31  37.0  43  234  441
c  55  55.0  55  554  665
d  66  66.0  66  772  772
>>>

pandas 聚合 df.groupby.agg相关推荐

  1. 【Pandas分组聚合】 groupby()、agg() 方法的使用

    Pandas分组聚合 创建一个dataframe结构 分组函数 groupby() 初识分组聚合 多重行索引分组聚合 对多列数据进行分组聚合 综合应用 聚合函数 agg(aggregate) 求 多列 ...

  2. pandas使用groupby函数进行分组聚合、使用agg函数指定聚合统计计算的数值变量、并自定义统计计算结果的名称(naming columns after aggregation)

    pandas使用groupby函数进行分组聚合.使用agg函数指定聚合统计计算的数值变量.并自定义统计计算结果的名称(naming columns after aggregation in dataf ...

  3. pandas使用groupby函数进行分组聚合并使用agg函数将每个分组特定变量对应的多个内容组合到一起输出(merging content within a specific column of g

    pandas使用groupby函数进行分组聚合并使用agg函数将每个分组特定变量对应的多个内容组合到一起输出(merging content within a specific column of g ...

  4. Pandas(鸢尾花案例:groupby, agg, apply)

    数据的分组和聚合 pandas groupby 方法 pandas agg 方法 pandas apply 方法 案例讲解 鸢尾花案例 婴儿姓名案 数据的分组&聚合 -- 什么是groupby ...

  5. Pandas DataFrame: groupby agg的使用

    @创建于:2022.07.01 @修改于:2022.07.01,2022.07.09 文章目录 1.构建样例数据(无Null值和有Null值) 2.agg常见聚合函数 3.agg匿名聚合函数 4.ag ...

  6. pandas分组groupby(agg,transform),apply

    快速浏览 pandas简单介绍和本文说明 一.SAC过程 二.groupby函数 1. groupby分组函数的基本内容 单/多列分组 组容量与组数 组的遍历 level参数(用于多级索引)和axis ...

  7. pandas df.groupby()分组后的数据访问,set_index的用法

    分组方式 注意第一种与第三种方式的区别. import pandas as pd dic={'省份':['A','A','A','B','C'],'城市':['a','a','a_','b','c', ...

  8. python pandas聚合_Python Pandas分组聚合的实现方法

    Pycharm 鼠标移动到函数上,CTRL+Q可以快速查看文档,CTR+P可以看基本的参数. apply(),applymap()和map() apply()和applymap()是DataFrame ...

  9. Pandas转pivot, groupby等结果为dataFrame--彻底解决多表头问题

    Pandas转pivot, groupby等结果为dataFrame 问题背景: 在用Pandas进行数据分析和处理的时候,常会用到如goupby(),pivot()等方法,这些方法极大简化了我们的操 ...

  10. 【Python基础】Pandas笔记---深入Groupby,它的功能没有你想的这么简单

    点击上方"潜心的Python小屋"关注我们,第一时间推送优质文章. 前言 大家好,我是潜心.上篇文章提到了Groupby,但其中举例的代码有点问题,在提取序列时用到了for循环,效 ...

最新文章

  1. from __future__ import absolute_import, division, print_function
  2. eclipse中生成的html存在中文乱码问题的解决方法
  3. C++中public,protected,private访问范围和用法
  4. 火狐(FireFox)
  5. 探秘HDFS —— 发展历史、核心概念、架构、工作机制 (上)| 博文精选
  6. 信息学奥赛一本通(1114:白细胞计数)
  7. 活动报名 | 2017无人驾驶智能车Hackathon挑战赛
  8. SQLServer------基本操作
  9. steam远程畅玩无法连接远程计算机,Steam 如何进行远程畅玩?
  10. c语言中变量要加引号吗,CMake中引号用法总结
  11. JAVA学习记录(冲冲冲)
  12. 【Java攻城狮宝典】04-for循环
  13. 7 年“键盘手”没在意!某程序员手疼查出骨肿瘤,已让骨头成了“豆腐渣”...
  14. 哔哩哔哩2020校园招聘游戏测试笔试卷(二)知识点解析
  15. Flink集群部署OnYarn模式
  16. CART分类树原理及示例
  17. PS学习笔记(05)
  18. Unity鼠标控制物体360°旋转和点击移动
  19. th themlefy 计算_航程计算的数学模型
  20. 蚂蚁金服Docker网络技术实践

热门文章

  1. 打印机服务器找不到网络路径,分享0x80070035找不到网络路径的解决方法
  2. linux postgresql 创建数据库,第 23 课 PostgreSQL 创建自己的数据库、模式、用户
  3. 电流、电压、功率的计算方式
  4. C/C++ 程序员的编程修养
  5. 【图片】 3D打印的一些小东西 暗黑
  6. mysql时间作为条件查询_MySQL的时间条件查询
  7. 转换到coff期间_error LNK1123: 转换到 COFF 期间失败
  8. linux使用tab键联想,Linux 下python 如何设置使用tab键
  9. IDEA颜色及主题配色方案记录,持续更新中。。。
  10. vue3.2 lottie-web动画+引入json动画