python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)

学习目标:

python学习三十二—简单的数据分析


学习内容:

1、pandas的数据结构
2、pandas数据分析和数据处理的基本功能
3 、汇总和计算描述统计


- pandas是含有使数据清洗和分析工作变得更快更简单的数据结构和操作工具。pandas经常和其它工具一同使用,如数值计算工具NumPy和SciPy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理 - pandas采用了大量的NumPy编码风格,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的。而NumPy更适合处理统一的数值数组数据

1、pandas的数据结构

  • 主要数据结构为大多数应用提供了一种可靠的、易于使用的基础:Series、DataFrame

1、Series

  • Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成

Series的字符串表现形式为:索引在左边,值在右边,默认索引是0到N-1(N为数据的长度)

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第1张图片

  • Series 的values和index属性获取其数组表示形式和索引对象

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第2张图片

  • 通过索引选取Series中的值
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第3张图片

  • pandas相关的计算,会保留索引
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第4张图片

  • 可以将Series看成一个定长有序字典,Series是一个索引值对应一个数据值,可以用在原本需要字典参数的函数中

sdata中跟statas索引相匹配的那3个值会被找出来并放到相应的位置上,"California"所对应的sdata值找不到,其结果就为NaN(即“非数字”(not > a number),pandas中,NaN用于表示缺失或NA值)。‘Utah’不在states中,从结果中除去

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第5张图片

  • pandas的isnull和notnull函数可用于检测缺失数据

用缺失(missing)或NA表示缺失数据

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第6张图片

Series检查数据是否确实的方法

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第7张图片

  • Series最重要的一个功能根据运算的索引标签自动对齐数据
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第8张图片
  • Series 的name属性、通过赋值的方式修改索引
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第9张图片

2、DataFrame

  • DataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)
  • DataFrame既有行索引也有列索引,可以被看做由Series组成的字典(共用同一个索引)
  • DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)
  • DataFrame是以二维结构保存数据的,但仍然可以轻松地将其表示为更高维度的数据(层次化索引的表格型结构,这是pandas中许多高级数据处理功能的关键要素)
  • 常用直接传入一个等长列表或Numpy数组的字典组成DataFrame
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第10张图片
  • 利用字典指定columns排序,以及设定index创建DataFrame

传入的columns在字典中找不到就会产生缺失值

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第11张图片

  • 通过赋值的方式对DataFrame的列进行修改
  • 将列表或数组赋值给某个列时,其长度必须跟DataFrame的长度相匹配
  • 赋值的是一个Series,要精确匹配DataFrame的索引

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第12张图片

  • 关键字del删除列(columns)

不能用frame2.eastern创建新的列

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第13张图片

  • 嵌套字典创建DataFrame,外层字典的键作为列,内层键则作为行索引
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第14张图片
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第15张图片
  • DataFrame的index和columns的name属性,以及value属性

DataFrame各列的数据类型不同,则值数组的dtype就会选用能兼容所有列的数据类型

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第16张图片

3、索引对象(index)
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第17张图片

  • pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)
  • 构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index
  • Index对象是不可变的
  • Index对象在多个数据结构之间安全共享

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第18张图片

  • index对象类似于固定大小的集合
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第19张图片

2、pandas数据分析和数据处理的基本功能

  • 操作Series和DataFrame中的数据的基本手段

1、重新索引
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第20张图片

  • reindex方法:创建一个新对象,它的数据符合新的索引
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第21张图片
  • method方法:当重新索引时插入一些值
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第22张图片
  • reindex和DataFrame连用时可以修改(行)索引和列
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第23张图片

2、丢弃指定轴上的项

  • drop方法:删除指定轴上的指定值,并返回一个新对象
    Series上的drop方法:
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第24张图片
    DataFrame上的drop方法:
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第25张图片
  • 许多函数,;比如drop,会修改Series或DataFrame的大小或形状,可以就地修改对象,不会返回新的对象
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第26张图片

3、索引、选取和过滤

  • Series的索引类似于Numpy,但是Series的索引不是整数
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第27张图片
    利用切片对Series赋值:
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第28张图片
  • DataFrame的索引,一个值对应一列或者序列对应多个列
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第29张图片
    布尔型DataFrame(比如下面这个由标量比较运算得出的)进行索引:
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第30张图片

4、用loc和iloc进行选取

  • 对于DataFrame的行的标签索引,特殊的标签运算符loc和iloc,类似NumPy的标记,使用轴标签(loc)或整数索引(iloc),从DataFrame选择行和列的子集
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第31张图片
  • loc和iloc进行选取

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第32张图片

5、整数索引
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第33张图片

6、算术运算和数据对齐

  • pandas最重要的一个功能可以对不同索引的对象进行算术运算
    Series的算术运算和数据对齐:
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第34张图片

DataFrame的算术运算和数据对齐:

对齐操作会同时发生在行和列上
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第35张图片

7、在算术方法中填充值

  • 当一个对象中某个轴标签在另一个对象中找不到时填充一个特殊值(比如0)
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第36张图片
  • add方法

Series和DataFrame的算术方法
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第37张图片

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第38张图片

8、DataFrame和Series之间的运算
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第39张图片

  • 匹配行且在列上广播
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第40张图片

9、函数应用和映射

  • NumPy的ufuncs(元素级数组方法)也可用于操作pandas对象
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第41张图片

一般数据统计的方法用DataFrame的方法(sum、mean等)

  • 传递到apply的函数不是必须返回一个标量,还可以返回一个Series
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第42张图片

10、排序和排名

  • 根据条件对数据进行排序
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第43张图片
  • 在排序时,任何缺失值默认都会被放到Series的末尾
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第44张图片
  • 根据列中一个或者多个值对dataframe排序
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第45张图片
  • rank方法:rank是通过“为各组分配一个平均排名”的方式破坏平级关系的(索引是从)
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第46张图片

Series的rank方法
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第47张图片

DataFrame的rank方法
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第48张图片

11、带有重复标签的轴索引

  • 重复索引值的Series
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第49张图片

3 、汇总和计算描述统计

1、 pandas对象基于没有缺失数据从series中提取sum、mean,从dataframe的行或列提取series进行数学计算和统计
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第50张图片
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第51张图片

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第52张图片

  • 返回间接统计、累计型、既不是约简型也不是累计型
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第53张图片
  • 非数值型数据,describe会产生另外一种汇总统计
    python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第54张图片

2、相关系数与协方差

  • 有些汇总统计(如相关系数和协方差)是通过参数对计算出来的

3、唯一值、值计数以及成员资格
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第55张图片
python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第56张图片

python—数据分析(pandas的数据结构、pandas数据分析和数据处理的基本功能、汇总和计算描述统计)_第57张图片

你可能感兴趣的:(python,数据分析,程序人生,恰饭,经验分享)