python数据分析之pandas学习一

链接(官网文档):点击这里

Pandas是python第三方库,提供高性能易用数据类型和分析工具。import pandas as pd

pandas基于Numpy实现,常与Numpy和Matplotlib一同使用。

Numpy pandas(Series+dataframe)
基础数据类型 扩展数据类型
关注数据的结构表达 关注数据的应用表达
维度:数据间关系 数据与索引间关系

一 Series类型

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

0-3是自动索引,int64为Numpy中数据类型。

Series类型可以由如下类型创建

Python列表  /标量值/Python字典/ndarray/其它函数

1 列表已说

2 标量值(可以自定义索引)

3 字典

4 ndarray

Series类型的基本操作

1 Series类型包括index和values两部分  .index获得索引,.values获得数据

2 Series类型的操作类似于ndarray类型。自动索引和自定义索引可以同时存在,两套索引并存,但不能混用。

3 Series类型的操作类似Python字典类型(通过自定义索引访问,保留字in操作,使用.get()方法)

Series的name属性

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

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

二 DataFrame类型

DataFrame类型由共用相同索引的一组列组成。由索引(行索引:index和列索引: column)和多列数据组成。

行axis=0,列axis=1

DataFrame是一个表格型的数据类型,每列值类型可以不同。常用于表达二维数据,也可以表达多维数据。

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

1)二维ndarray对象

2)由一维ndarray,列表,字典,元组或Series构成的字典

3)Series类型

4)其他的DataFrame类型

由二维ndarray对象创建

由一维ndarray对象字典创建(数据根据行列索引自动补齐)

从列表类型的字典创建

DataFrame是带标签的数组,其基本操作类似于Series,依据行列索引

三 数据类型的操作

改变Series和DataFrame对象(增加或重排:重新索引

                                                         删除:drop)

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

.reindex(index=None,columns=None,...)的参数

参数 说明
index,columns 新的行列自定义索引
fill_value 重新索引中,用于填充缺失位置的值
method 填充方法,ffill为当前值向前填充,bfill向后填充
limit 最大填充量
copy 默认为True,生成新的对象,False时,新旧相等不复制。

Series和DataFrame的索引都是Index类型,是不可修改的。

索引类型的常用方法

方法 说明
.append(idx) 连接另一个Index对象,产生一个新的Index对象
.diff(idx) 计算差集,产生新的Index对象
.intersection(index) 计算交集
.union(index) 计算并集
.delete(loc) 删除loc位置处的元素
.insert(loc,e) 在loc位置增加一个元素e

删除指定索引对象

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

四 数据运算

算数运算法则

算数运算法则根据行列索引,补齐后运算,运算默认产生浮点数。补齐时缺项值填充NAN(空置)

二维和一维,一维和零维间为广播运算。采用+-*/符号进行的二元运算产生新的对象。

广播运算:不同维度之间的运算,低维的元素会作用到高维的每一个元素。

也可以使用方法形式的运算(可以增加参数)

方法 说明
.add(d,**argws) 类型间加法运算,可选参数
.sub(d,**argws) 类型间减法运算,可选参数
.mul(d,**argws) 类型间乘法运算,可选参数
.div(d.**argws) 类型间除法运算,可选参数

不同维度之间为广播运算,一维Series默认在轴1进行运算。

使用运算方法可以令一维Series参与轴0运算

比较运算法则(只能进行同维度运算,尺寸一致)

比较运算只能比较相同索引的元素,不进行补齐。广播运算。采用><>=<===!=等符号进行的二元运算产生布尔对象。

五:数据的特征,统计分析

一组数据表达一个或多个含义。从一组数据提取出摘要(有损地提取数据特征的过程)。

1 基本统计(含排序)

2 分布/累计统计

3 数据特征(相关性,周期性等)

4数据挖掘(形成知识)

Pandas库的数据排序

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

.sort_index(axis=0,ascending=True)

.sort_values()方法在指定轴上根据数值进行排序,默认升序(NaN值同一排放在末尾)

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

DataFrame.sort_valies(by,axis=0,ascending=True)

by:axis轴上的某个索引或索引列表

基本统计分析函数(适用于Series和DataFrame类型)

方法 说明
.sum() 计算数据总和,按照0轴
.count() 非NaN值的数量
.mean()  .median() 计算数据的算数平均值,算数中位数
.var()  .std() 方差,标准差
.min()  .max()

最小/最大值

.argmin()   .argmax() 计算数据最大值和最小值所在位置的索引位置(自动索引)
.idxmin()    .idxmax() 计算数据最大值,最小值所在位置的索引(自定义索引)
.describe() 针对0轴(各列)的统计汇总

累计统计分析函数(适用于Series和DataFrame类型)

方法 说明
.cumsum() 依次给出前1,2,...n个数之和
.cumprod() 依次给出前1,2,...n个数之积
.cummax() 依次给出前1,2...n个数的最大值
.cummin() 最小值

累计统计分析函数(适用于Series和DataFrame类型,滚动计算(窗口计算))

方法 说明
.rolling(w).sum()
 
依次计算相邻w个元素的和
.rolling(w).mean()  
.rolling(w).var()  
.rolling(w).std()  

.rolling(w).min()   

.rolling(w).max()

 

相关分析(正相关,负相关,不相关)

Pearson相关系数r

r取值范围为[-1,1]

0.8-1.0  极强相关

0.6-0.8强相关

0.4-0.6中等相关程度

0.2-0.4弱相关

0-0.2极弱相关或无相关

相关分析函数(适用于Series和DataFrame类型)

方法 说明
.cov() 计算协方差矩阵
.corr() 计算相关系数矩阵(常用)

猜你喜欢

转载自blog.csdn.net/qq_40123329/article/details/81508472