python——pandas库

 http://pandas.pydata.org/pandas-docs/stable/api.html 

目录

一、pandas简介
二、Pandas库的Series类型
三、pandas库的DataFrame类型
四、pandas库的数据类型操作
五、pandas库的数据类型运算
六、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等系数
原文地址:https://www.cnblogs.com/z-bear/p/9475076.html