【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要

概要:提取数据的基本特征

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第1张图片

单元7:pandas库入门

更多参考:http://pandas.pydata.org/

Pandas是Python第三方库,提供高性能易用数据类型和分析工具,Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用。

常用引用方法:

import pandas as pd

7.1对pandas库的理解

与numpy的区别
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第2张图片

该库基于numpy提供了两个新的数据类型:Series, DataFrame

基于上述数据类型有各类操作:基本操作、运算操作、特征类操作、关联类操作

7.2 Series类型(一维)

Series类型由一组数据及与之相关的数据索引组成

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第3张图片

实例1:
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第4张图片

实例2:
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第5张图片

Series类型可以由如下类型创建:
• Python列表,index与列表元素个数一致
• 标量值,index表达Series类型的尺寸
• Python字典,键值对中的“键”是索引,index从字典中进行选择操作
• ndarray,索引和数据都可以通过ndarray类型创建
• 其他函数,range()函数等

实例:
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第6张图片
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第7张图片
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第8张图片

如何理解该类型

Series是一维带“标签”数组(Series类型包括index和values两部分)

index_0 —–> data_a**(索引 与 值 一一对应)**

Series基本操作类似ndarray和字典,根据索引对齐进行运算(而不是像numpy一般基于维度进行运算)

Series类型的基本操作

  1. 使用 .index 获取索引,使用 .value 获取数据
    【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第9张图片

2.自动索引 与 自定义索引并存(但不能混合使用
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第10张图片

3.Series类型的操作类似ndarray类型:

• 索引方法相同,采用[]

• NumPy中运算和操作可用于Series类型(运算和操作结果仍然是Series类型)

• 可以通过自定义索引的列表进行切片(切片后的结果仍然是Series类型)

• 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片(切片后的结果仍然是Series类型)

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第11张图片

4.Series类型的操作类似Python字典类型:

• 通过自定义索引访问

• 保留字in操作(只会判断自定义索引,不会判断自动索引)

• 使用.get()方法

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第12张图片

5.Series类型的对齐问题:

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第13张图片

Series类型在运算中会自动对齐不同索引的数据

6.Series类型的.name属性:

Series对象和索引都可以有一个名字,存储在属性.name中

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第14张图片

7.Series类型的修改:

Series对象可以随时修改并即刻生效

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第15张图片

7.3 DataFrame类型(二维)

DataFrame类型由共用相同索引的一组列组成

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第16张图片

axis =0 /axis = 1的介绍
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第17张图片

DataFrame是一个表格型的数据类型,每列值类型可以不同(类似于Excel)

DataFrame既有行索引、也有列索引

DataFrame常用于表达二维数据,但可以表达多维数据

创建DataFrame类型

DataFrame类型可以由如下类型创建:

• 二维ndarray对象

• 由一维ndarray、列表、字典、元组或Series构成的字典

• Series类型

• 其他的DataFrame类型

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第18张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第19张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第20张图片

实例分析:

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第21张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第22张图片

对DataFrame的理解

DataFrame是二维带“标签”数组,DataFrame基本操作类似Series,依据行列索引
这里写图片描述

7.4 pandas的数据类型操作

数据类型操作 <– 等价–> 如何改变Series和DataFrame对象?

->增加或重排:重新索引

->删除:drop

重新索引

.reindex()能够改变或重排Series和DataFrame索引

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第23张图片

参数解释

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第24张图片

关于索引

Series和DataFrame的索引是Index类型,Index对象是不可修改类型

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第25张图片

index类型的常用方法
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第26张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第27张图片

pandas通过操作索引来操作dataframe的数据集。

panda通过索引来实现对一组数据的操作。

删除指定索引对象

.drop()能够删除Series和DataFrame指定行或列索引

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第28张图片

删除列时要指定axis=1(默认axis=0)

7.5 pandas的数据类型运算

算术运算法则:

算术运算根据行列索引,补齐后运算,运算默认产生浮点数

补齐时缺项填充NaN (空值)

二维和一维、一维和零维间为广播运算*(低维对象元素会作用到高维对象的每一个元素)*

采用+ ‐ * /符号进行的二元运算产生新的对象

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第29张图片

方法形式的运算

方法形式的运算可通过指定参数避免上面的NaN的产生

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第30张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第31张图片

广播运算实例:

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第32张图片
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第33张图片

比较运算法则:

比较运算只能比较相同索引的元素,不进行补齐

二维和一维、一维和零维间为广播运算

采用> < >= <= == !=等符号进行的二元运算产生布尔对象

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第34张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第35张图片

单元小结

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第36张图片

单元8:pandas数据特征分析

8.1数据排序

.sort_index()方法在指定轴上根据索引进行排序,默认升序

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第37张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第38张图片

.sort_values()方法在指定轴上根据数值进行排序,默认升序

使用方式:

Series.sort_values(axis=0, ascending=True)

DataFrame.sort_values(by, axis=0, ascending=True)
#by : axis轴上的某个索引或索引列表

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第39张图片

排序时,NaN永远都是在排序结果末尾(不管是升序 还是 降序)
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第40张图片

8.2 数据的基本统计

基本统计函数
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第41张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第42张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第43张图片

describe函数实例
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第44张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第45张图片

8.3 数据的累计统计分析

基本函数1:

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第46张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第47张图片

基本函数2:

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第48张图片

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第49张图片

8.4 数据的相关分析

两个事物,表示为X和Y,协方差可判断它们之间的相关性:

这里写图片描述

• 协方差>0, X和Y正相关( X增大,Y增大)
• 协方差<0, X和Y负相关(X增大,Y减小)
• 协方差=0, X和Y独立无关(X增大,Y无视)

两个事物,表示为X和Y,如何判断它们之间的存在相关性?

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第50张图片

r取值范围[‐1,1]
…….r …………相关性
• 0.8‐1.0 极强相关
• 0.6‐0.8 强相关
• 0.4‐0.6 中等程度相关
• 0.2‐0.4 弱相关
• 0.0‐0.2 极弱相关或无相关

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第51张图片

实例:房价增幅与M2增幅的相关性
【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第52张图片

单元小结

【MOOC】Python数据分析与展示-北京理工大学-【第三周】数据分析之概要_第53张图片

你可能感兴趣的:(公开课)