zoukankan      html  css  js  c++  java
  • 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等系数
  • 相关阅读:
    成功破解校园网锐捷客户端,实现笔记本无线网卡wifi
    献给正在郁闷的人们
    用友客户通,无法打开登录 'turbocrm' 中请求的数据库。登录失败。
    如何得到cxgrid的当前编辑值
    cxgrid当底层数据集为空时显示一条空记录
    使用nlite将SCSI RAID 阵列驱动整合到系统安装光盘内
    开始菜单的运行没有了
    Delphi代码获取网卡物理地址三种方法
    登录用友通模块时提示:运行时错误'430',类不支持自动化或不支持期望的接口 ...
    CentOS7下安装MySQL Mr
  • 原文地址:https://www.cnblogs.com/z-bear/p/9475076.html
Copyright © 2011-2022 走看看