pandas groupby count_数据分析14-利用pandas进行数据分组
目标:
- 学会利⽤pandas对数据进⾏分组
- 知道如何提取分组后的数据
- 可以按多列进⾏分组
- 能够对分组后数据进⾏统计计算
测试数据集:
链接:https://pan.baidu.com/s/1QvY-Qvtl_8QtsMi8sxUD-w
提取码:di2z
一、数据的分组
在pandas当中我们可以利⽤groupby()方法对数据进行分组,返回的是一个分组后的对象, groupby()里面的参数是指定分组的列,分组也分为两种方式 :
①对所有数据进⾏分组
② 对指定列进⾏分组(只要指定列的数据)
下⾯我们来看⼀下这两种⽤法
1、对所有数据进⾏分组
import pandas as pddf = pd.read_excel('C:/Users/cherich/Desktop/forbes_2018.xlsx')groups = df.groupby('gender')print(groups)
2、对指定列进⾏分组(只要指定列的数据)
# 根据gender列只对age列进行分组group = df['age'].groupby(df['gender']) # 查看分组print(group.groups)# 根据分组后的名字选择分组print(group.get_group('F'))
3、对多列进⾏分组
group=df.groupby(['country','gender']) print(group)
二、提取分组后的数据
1、由于分组后的数据返回的是⼀个对象,我们⽤遍历的⽅式才能提取出数据(为了大家看的清楚,截取了几行数据,演示效果)
groups = df.groupby('gender')for group_name, group_df in groups: print(group_name, '+', group_df)
group_name是分组的名称 ,group_df对应的每组的数据
2、使⽤get_group()⽅法获取某⼀组的数据
res = groups.get_group('F')print(res)
其中括号中的参数 F为分组名称
3、我们还可以使⽤另⼀种遍历的⽅式来获取分组后数据的数量
group = df.groupby('gender')for gender,value in group.size().items(): print(gender,value)
- group.size()会返回分组后数据对应的数量
- group.size().items()则是打包成zip对象,包括分组名称以及数量
各个变量的含义:
gender 遍历出来的分组名称
value 每组对应数据的数量
三、对分组后的数据进⾏统计
pandas给我们提供了很多的统计函数,我们可以直接拿来使⽤
count() 统计列表中⾮空数据的个数 nunique() 统计⾮重复的数据的个数 sum() 统计列表中的所有数值的和 mean() 统计列表中的数据的平均值 median() 计算列表中数据的中位数 max() 计算列表中数据的最⼤值 min() 计算列表中数据的最⼩值
# 获取F组的数据f_group = groups.get_group('F')# 获取平均值f_mean = f_group['age'].mean()# 获取最大值f_max = f_group['age'].max()# 获取最小值f_min = f_group['age'].min()print(f_mean,f_max,f_min)
结果:60.470588235294116 94 21
上⾯的⽅式我们⼀次只能计算⼀个数据,那么pandas还给我们提供了⼀个⽅法,可以同时进 ⾏多个运算
- agg() 我们只需将函数的名字以字符串的形势存储到列表中作为agg的参数即可
for group_name,group_df in groups: f_se = group_df['age'].agg(['max','min','mean']) print('{}组的最大年龄是{},最小年龄是{},平均年龄是{}'.format(group_name,f_se[0],f_se[1],f_se[2]))
各个变量的含义
- f_se------------------统计结果
- group_name------分组名称
- f_se[0]--------------最⼤值
- f_se[1]--------------最⼩值
- f_se[2]--------------平均值
pandas groupby count_数据分析14-利用pandas进行数据分组相关推荐
- 计算机excel上机实训指导,上机实训指导手册——利用Excel进行数据分组和制作统计图表...
上机实训指导手册--利用Excel进行数据分组和制作统计图表 (15页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 实训指导书课程名称 ...
- pandas apply lambda_数据分析必备!Pandas实用手册(PART III)
这一系列的对应代码,大家可以在我共享的colab上把玩, ? https://colab.research.google.com/drive/1WhKCNkx6VnX1TS8uarTICIK2ViPz ...
- 阿里天池数据分析入门 利用Pandas分析数据
pd.read_csv用法 ccl = pd.read_csv("1_usa_candidate/ccl.txt", sep = '|',names=['CAND_ID','CAN ...
- azw3 python数据分析 活用pandas库_Python数据分析 活用Pandas库 数据科学教程数据分析入门图书 Python编程入门数据处理...
内容介绍 本书是Python数据分析入门书,每个概念都通过简单实例来阐述,便于读者理解与上手.具体内容包括:Python及Pandas基础知识,加载和查看数据集,Pandas的DataFrame对象和 ...
- python数据分析 活用pandas库_Python数据分析:活用Pandas库:Pandas for everyone
序 iv 前言 v 致谢 xi 关于作者 xiv 第 一部分 简介 1 第 1章 Pandas DataFrame基础知识 2 1.1 简介 2 1.2 加载数据集 3 1.3 查看列.行.单元格 5 ...
- 利用python进行数据分析-14.5 2012美国大选数据分析(基础复习)
美国大选数据分析 导入数据及相关库 数据清洗 填充缺失值 数据转换 面元化数据(分桶) 数据聚合与分组运算 时间处理 str转datetime(datetime为时间序列数据类型) 重新采样和频率转换 ...
- pandas玩转excel-> (2)如何利用pandas读取excel数据文件
pandas玩转excel-> (2)如何利用pandas读取excel数据文件 import pandas as pd #将excel文件读到内存中,形成dataframe,并命名为peopl ...
- pandas玩转excel-> (1)如何利用pandas创建excel数据文件
pandas玩转excel-> (1)如何利用pandas创建excel数据文件 #在Anaconda3 的Spyder中 #定义pandas模块为pd import pandas as pd ...
- python 组内排序_python - pandas groupby在组内排序
python - pandas groupby在组内排序 我想将数据框分组为两列,然后对组内的聚合结果进行排序. In [167]: df Out[167]: count job source 0 2 ...
最新文章
- EFQRCode:自动生成花式二维码
- Matplotlib画图常用方法总结(全)
- 动态定时任务数据库获取方式
- Docker快速搭建Tuleap项目管理平台
- swiftui动画之tab自定义切换动画_骨骼动画制作|万彩骨骼大师
- Windows10:将cmd命令行添加到右键中的方法
- [转载] C#面向对象设计模式纵横谈——11. Facede外观模式
- 吉米多维奇数学分析习题集学习指引
- 用小程序完成简单的详情列表功能
- 吉他入门:吉他音阶训练入门教程(二)
- 关于邮箱显示已经回复,但是已发送邮件里面没有
- 阿里云 vs Azure-存储 CDN
- 7.14英语学习:英国拍争议文物
- 公司邮箱后缀有哪些?外贸邮箱域名有哪些你知道吗?
- CentOS中 DNF 和 Yum 的区别
- Unity判断物体相对位置
- 2020大学生安全教育网课课后答案
- java escpos_java – 设置字符代码表以在ESC / POS打印机中打印非拉丁字符
- 实现简单的自定义音乐播放器
- 1.电磁波传播原理,慢衰落、快衰落、阴影效应、多径传播、多普勒效应、塔下黑。