python中pandas库_python——pandas库

目录

一、pandas简介:

Pandas库:python的第三方库,提供高性能数据类型和分析工具。

简单说就是,便于操作的数据类型,很多的分析函数和分析工具;

Pandas的引用: import pandas as pd;

Pandas 库主要的两个数据类型:Series,DataFrame;

Series:相当于一维的数据类型

DataFrame:相当于二维到多维的数据类型

基于上述数据类型的各类操作:

基本操作,运算操作,特征类操作,关联类操作

Numpy pandas比较:

提供基础数据类型ndarray

拓展数据类型:Series 与 DataFrame

关注数据的结构表达

关注数据的应用表达

体现维度:数据间关系

应用表达体现在数据与索引间的关系

二、Pandas库的Series类型:

Series类型由一组数据及与之相关的数据索引组成,每个数据对应一个索引,可以自定义索引,还有一个默认索引从0开始。

一、Series类型的创建:函数pd.Series(a,index)

1、 python列表创建:

S=pd.Series( a ,index=[ ] )

a为python列表,index不可省略,len(a)==len(index) ;

2、从标量值创建:

S=pd.Series(a , index)

a为标量,index不可省略;index表达Series类型的尺寸。

3、python字典创建

S=pd.Series(a,index)

a为python字典;a中的key是索引;

如果index不省略,则从dic中挑选出其key在index列表中的键值对组成一个Series,如果index中没有元素与dic中的key对应,则该索引所对应的值为None

4、从ndarray类型创建:导入numpy与pandas

S=pd.Series(a,index)

a是ndarray类型,index 也可是ndarray类型

5、通过其他函数,如arange() 函数创建

二、Series类型的基本操作

1、Series类型包括index和values两部分。

S=nd.Series()

S.index 获得索引 返回一个索引类型

S.values 获得数据 返回一个numpy库的array类型

索引可以使用默认所以,或自定义索引,但两者不可以混合使用。

2、Seriesd类型的操作类似ndarray类型

a) 采用 [ ] 进行索引

b) numpy中运算和操作可用于Series。

c) 可以通过自定义索引的列表进行切片。

d) 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片。

3、Series类型的操作类似Python字典类型

a) 通过自定义索引访问

b) 保留字in操作 //key in dic 判断key在不在dic的键中。返回True/False

c) 使用.get( index, a )方法 //返回index对应的值,如果不存在则返回a

4、Series类型对齐操作:Series+Series

索引值相同的值进行运算,索引值不同的值不进行运算,即值等于NaN

5、Series类型的name属性:

Series对象和索引都有一个name属性,存储在.name属性;

即Series.name 与 Series.index.name 可直接赋值修改。

6、Series类型的修改

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

三、理解Series类型:

Series是一维带“标签”数组。

Series基本操作类似ndarray和字典,根据索引对齐。

三、pandas库的DataFrame类型

DataFrame类型由共用相同索引的一组列组成。(例一个学号可对应一个学生的姓名,专业,年龄等)

DataFrame是一个表格型的数据类型,每列值类型可以相同也可不同

DataFrame既有行索引也有列索引,既一个带标签的二(多)维数据类型。

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

1、DataFrame类型的创建:

a) 从二维ndarray对象创建:

d=pd.DataFrame( a )

其中a为ndarray对象,自动生成

b) 有一维ndarrray对象字典创建:

d=pd.DataFrame( )

c) 从列表类型的字典创建

四、pandas库的数据类型操作

1、改变Series和DataFrame对象(增加、重排索引或删除部分值)

a) 重新索引

.reindex(index=None,columns=Nonem....)

参数

说明

index,columns

新的行列自定义索引

fill_value

重新索引中,用于填充缺失位置的值

method

填充方法,ffill当前值向前填充

limit

最大填充量

copy

默认True,生成新的对象,False,新旧相等不赋值

b) 索引类型的常用方法

方法

说明

.append(idx)

连接另一个index对象,产生新的Index对象

.diff(idx)

计算差集,产生新的Index对象

.interesection(idx)

计算交集

.union(idx)

计算并集

.delete(loc)

删除loc位置处的元素

.insert( loc,e )

在loc位置增加一个元素

c) 删除指定索引对象

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

五、pandas库的数据类型运算

1、算术运算法则

算术运算根据行列索引,补齐后运算(相同索引才进行运算),运算默认产生浮点数。

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

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

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

2、 四则法则运算方法形式(除了用+-*/,还可用其方法)

.add( d, **argws )

类型间加法运算,可选参数

.sub( d, **argws)

类型间减法运算,可选参数

.mul( d, **argws)

类型间的乘法运算,可选参数

.div(d, **argws)

类型间除法运算,可选参数

六、pandas的数据特征分析

1、数据的排序

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

.sort_index(axis=0, ascending=True )

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

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

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

注意:NaN值统一放在最后面

2、数据的基本统计分析

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

方法

说明

.sum()

计算数据的总和,按0轴

.count()

非NaN值的数量

.mean() .median()

计算数据的算术平均值、算术中位数

.var() .std()

计算数据的方差、标准差

.min() .max()

计算数据的最小值、最大值

.argmin() .argmax()

计算数据最大值、最小值所在位置的索引位置(自动索引)

.idxmin()  .idxmax()

计算数据最大值、最小值所在位置的索引(自定义索引)

.describe()

针对(0轴)各列的统计汇总,返回一个Series类型,其中有sum,median 等

3、数据的累计统计分析

数据的累计统计分析:对前 1 - n 个数进行累计运算

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

方法

说明

.cumsum()

依次给出前1、2、...、n个数的和

.cumprod()

依次给出前1、2、...、n个数的积

.cummax()

依次给出前1、2、...、n个数的最大值

.cummin()

依次给出前1、2、...、n个数的最小值

b) 适用于Series和DataFrame类型,滚动计算窗口(窗口计算)

方法

说明

.rolling(w).sum()

依次计算相邻w个元素的和

.rolling(w).mean()

依次计算相邻w个元素的算术平均值

.rolling(w).var()

依次计算相邻w个元素的方差

.rolling(w).std()

依次计算相邻w个元素的标准差

.rolling(w).min() /.rolling(w).max()

依次计算相邻w个元素的最大值和最小值

4、数据的相关分析

两个变量相关性度量:协方差(相对不精确),Pearson相关系数:

相关分析函数:

方法

说明

.cov()

计算协方差矩阵

.corr()

计算相关系数矩阵,Pearson、Spearman、Kendall等系数

你可能感兴趣的:(python中pandas库)