Python编程&数据科学入门 Lesson6

2017-08-31  本文已影响0人  进步小小青年

第六课 Pandas 进阶

* 本课主要内容:数据的分组和聚合

01.分组和聚合的思想

02.鸢尾花案例

03.婴儿姓名案例

01.分组和聚合的思想

数据的分组&聚合 -- 什么是groupby 技术?

写成代码的话:

Paste_Image.png

02.案例一 :Iris鸢尾花数据集

a.导入pandas包
* import pandas as pd
b.导入鸢尾花数据
* Iris = pd.read_csv( 'iris.txt' )
*iris.head() # 前五行数据
Paste_Image.png
c. 统计每个品种的数据量
* iris.species.value_counts()
Paste_Image.png

2.1 分组运算 groupby 方法 -- 使用内置函数

鸢尾花数据中包括了3个不同的品种150个观测对象,数据分析中我们往往对一个品种的特性更感兴趣而不是每一个个体的数据描述。
假如一个植物园管理员提出这个问题:

按品种划分,每个品种的花萼,花瓣的长度和宽度的最大值分别是多少?

我们应该如何回答?

使用上述groupby的思想,我们可以将数据划分为3个小块,每个小块包含50个观测数据。然后使用max函数得到各个测量值的最大值,然后进行汇总。

Paste_Image.png

* size方法查看每个group的大小*

2.2 使用自定义函数进行聚合运算 -- agg 方法

Paste_Image.png

我们还可以同时引用多个函数,将函数名字放入一个列表即可,内置函数名需要用引号

Paste_Image.png

针对不同的列,应用不同的聚合函数

Paste_Image.png

2.3 更广泛的分组运算 -- apply方法

Paste_Image.png

使用agg会报错,试一下apply方法:

Paste_Image.png

阶段小结:

03.案例2:美国婴儿名字数据

Paste_Image.png

运行以后的结果(前五行)

Paste_Image.png

利用info查看数据信息:

Paste_Image.png

根据多个属性分组数据

Paste_Image.png

在不同的年份不同性别中,计算每个名字所占的百分比

Paste_Image.png

增加排序(rank)

Paste_Image.png

每年最流行的男孩女孩名字所占的百分比变化趋势如何?

使用Matplotlib工具绘图

Paste_Image.png

绘制图形

Paste_Image.png

女生的名字流行折线图

Paste_Image.png

为什么历史上最流行的男孩女孩名字所占的比重逐年降低?

Paste_Image.png

使用to_farme将series转化为DataFrame格式

Paste_Image.png

使用reset_index()

Paste_Image.png

作图

Paste_Image.png

运行

Paste_Image.png

结论:可选择的名字逐年增加,所以流行名字的占比逐年降低

上一篇 下一篇

猜你喜欢

热点阅读