回顾一下:
第1天学习了Python的基本页面、操作,以及几种主要的容器类型。
第2天学习了python的函数、循环和条件、类。
第3天了解了Numpy这个工具库。
第4、5两天掌握了Pandas这个库的基本用法。
第6天学习了数据的合并堆叠。
第7天开始学习数据清洗,着手学会了重复值删除、异常值处理、替换、创建哑变量等技能。
第8天接着学习数据清洗,一些常见的数据处理技巧,如分列、去除空白等被我一一攻破
第9天学习了正则表达式处理文本数据
原文复习(点击查看):
今天将带来第10天的学习日记。
目录如下:
前言
1. 聚合运算
(1)groupby:按照变量进行分组
(2)按照函数进行分组
(3)用agg()自定义聚合函数
2. 数据透视表
(1)pivot_table()方法
(2)交叉表crosstab
统计师的Python日记【第10天:数据聚合】
前言
根据我的Python学习计划:
Numpy → Pandas→ 掌握一些数据清洗、规整、合并等功能 → 掌握正则表达式 →掌握类似与SQL的聚合等数据管理功能 → 能够用Python进行统计建模、机器学习等分析技能 → 能用Python打印出100元钱 → 能用Python帮我洗衣服、做饭 → 能用Python给我生小猴子......
其实前面在学合并的时候已经学过类似的功能了:左连接、右连接、内连接、全连接(第6天:数据合并)。今天来学数据的聚合。什么叫聚合呢?来看个例子:
有一份数据,数据名为family:
变量如下:fam:家庭编号,有三个家庭fam1、fam2、fam3;
gender:性别
salary:成员的月收入
从这份名单中大概能猜到,fam1有三个成员,可能是一个三口之家;fam2有5位成员,也许是四世同堂;fam2有2位成员,应该是两口子,不过这不重要。
现在,想知道每个家庭的成员平均月收入,应该如何处理?
学过SQL的人知道,典型的SQL查询语句应该是:
select mean(salary) from family group by fam
从数据family这份数据中,找出每个fam group下的mean(salary)。这是一个典型的数据聚合的例子,现在如果想用Pandas来实现,应该如何处理?
1. 聚合运算
(1)groupby:按照变量进行分组
<