《利用python进行数据分析》2.0——pandas库

字数 2434阅读 686

目录:

1.values 和index
2.检测缺失数据
3.name 属性
4.赋值直接修改

DataFrame :表格型数据结构

1.构建DataFrame方法(1),直接传入一个字典。如果指定了列序列,则列就会按照指定顺序排列
2.通过类似字典标记的方式,将DataFrame的列获取为一个Series
3.可以通过赋值方式修改
4.为不存在的列赋值会创建新列,del 删除列
5.构建方法(2),嵌套字典
6.设置DataFrame 的index 和columns 的name属性
7.索引对象:管理轴标签和其他元素
8.Index 的方法和属性
9.重新索引: reindex ,创建一个适应新索引的新对象
10.丢弃指定轴上的项,drop
11.索引、选取和过滤
12.算数运算和数据对齐
13.DataFrame 和Series 之间的运算
14.函数应用和映射
15.排序
16.排名
17.带有重复值的轴索引
18.汇总和计算描述统计
19.idxmin 和 idxmax 返回的是间接统计,达到最小值或最大值的索引
20.相关系数和协方差(空)
21.唯一值、值计数以及成元资格
22.处理缺失数据
23.过滤缺失值
24.填充缺失数据, fillna
25.层次化索引(空)
26.重排分级顺序(空)
27.根据级别汇总统计(空)
28.使用DataFrame的列(空)
29.整数索引(空)
30.面板数据(空)

正文:

Series:由一维数组以及一组与之相关的数据标签组成

1.values 和index

1

2. 检测缺失数据

  • isnull : 是否缺失
  • notnull
2

3. name 属性

3

4.赋值直接修改

4
DataFrame :表格型数据结构

1.构建DataFrame方法(1),直接传入一个字典。如果指定了列序列,则列就会按照指定顺序排列

1

2.通过类似字典标记的方式,将DataFrame的列获取为一个Series

2

3.可以通过赋值方式修改,

3

4. 为不存在的列赋值会创建新列,del 删除列

4

5. 构建方法(2),嵌套字典

5
  • 指定索引
5.1

6. 设置DataFrame 的index 和columns 的name属性

6

7.索引对象:管理轴标签和其他元素

7
  • Index 最泛化的index对象
  • Int64Index 针对整数的特殊Index
  • MultiIndex "层次化“ 索引对象
  • DatetimeIndex 存储纳秒级时间戳
  • PeriodIndex 针对Period数据的特殊Index

8.Index 的方法和属性

  • append 连接另一个Index对象,产生一个新的Index
  • diff 计算差集,并得到一个Index
  • intersection 计算交集
  • union 计算并集
  • isin 计算一个指示各值是否都包含在参数集合中的布尔型数组
  • delete 删除索引I处的元素,并得到新的Index
  • drop 删除传入的值,并得到新的Index
  • insert 将元素插入到索引i处,得到新Index
  • is_monotonic 当各元素均大于等于前一个元素时,返回True
  • is_unique 将Index没有重复值时, 返回True
  • unique 计算Index中唯一值的数组

9.重新索引: reindex ,创建一个适应新索引的新对象

  • 根据新索引进行重排。如果某个索引当前不存在,就引入缺失值。
9
  • 对有序数据,重新索引需要插值处理
    • ffill 或pad , 前向填充值

    • bfill 或backfill , 后向填充值

9.1
  • 可修改(行)索引、列,
9.2
  • 对行和列重新索引,利用ix的标签索引功能,简洁
9.3
  • index 用作索引的新序列
  • method 插值方式
  • fill_value 在重新索引的过程中,需要引入缺省值时使用的替代值
  • limit 向前或后向填充时的最大填充量
  • level 在Multilndex的指定级别上匹配简单索引,否则选取其子集
  • copy 默认为True , 无论如何都复制, 如果为False, 则新旧相等就不复制

10.丢弃指定轴上的项,drop

10

11.索引、选取和过滤

  • Series索引,索引值不只是整数
11
  • 利用标签的切片运算, 末端是包含的, 而普通的Python切片运算是不包含的
11.1
  • 对DataFrame进行索引
11.2
  • 在DataFrame的行上进行标签索引,引入专门的索引字段ix
11.3
  • obj[val] , 选取DataFrame的单个列或一组列
  • obj.ix[val] , 选取DataFrame的单个行或一组行
  • obj.ix[:, val] , 选取单个列或列子集
  • obj.ix[val1, val2] , 同时选取行或列
  • reindex 方法, 将一个或多个轴匹配到新索引
  • xs 方法, 根据标签选取单行或单列,并返回一个Series
  • icol、 irow 方法, 根据整数位置选取单列或单行,并返回一个Series
  • get_value、 set_value 方法 , 根据行标签或列标签 选取 / 设置 单个值

12.算数运算和数据对齐

  • pandas 可以对不同索引的对象进行算术运算。
12
  • 对于DataFrame, 对齐操作会同时发生在行和列上
12.1
  • 在算术方法中填充值, add函数, fill_value参数
12.2
  • 在对Series或DataFrame重新索引时, 也可以指定一个填充值(?)
12.3
  • add 用于加法(+)的方法
  • sub 用于减法(-) 的方法
  • div 用于除法(/) 的方法
  • mul 用于乘法 (*) 的方法

13.DataFrame 和Series 之间的运算
默认情况下, DataFrame和Series 之间的算数运算会将Series的索引匹配到DataFrame的列

13

14.函数应用和映射

  • Numpy 的nfuns 用于操作pandas对象
14
  • 将函数应用到各列或行所形成的一维数组上。DataFrame 的apply 方法( ? )
14.1
  • 想得到frame中各个浮点值的格式好字符串,使用applymap 。 Series 也有用于应用元素级函数的map方法
14.2

15.排序

  • sort_index 方法
15
  • 在DataFrame上,根据一个或多个列中的值进行排序,将一个或多个列名字传递给by选项
15.1
  • 对Series进行排序,用order方法
15.2

16.排名

  • rank , 默认情况下,是通过“为各组分配一个平均排名”的方式破坏平级关系
16
  • 根据值在原数据中出现的顺序给出排名
16.1
  • 按降序进行排名
16.2
  • average 在相等分组中,为各个值分配平均排名
  • min 使用整个分组的最小排名
  • max 使用整个分组的最大pdmk
    *first 按值在原始数据中的出现顺序分配排名

17.带有重复值的轴索引

  • 索引的is_unique属性可以告诉它的值是否唯一:
17
  • 如果某个索引对应多个值,则返回一个Series;而对应单个值的,则返回一个标量值。
17.1

18.汇总和计算描述统计

  • DataFrame的sum方法会返回一个含义列小计的Series,传入axis=1 将按行进行求和运算
18
  • NA会自动被排除,除非整个切片都是NA。通过skipna选项可禁用此功能
18.1
  • axis , 简约的轴,DataFrame的行用0, 列用1
  • skipna , 排除缺失值,默认值为True
  • level , 如果轴是层次化索引,则根据level分组约简

19.idxmin 和 idxmax 返回的是间接统计,达到最小值或最大值的索引

19.1
  • cumsum() 累积型
19.2
  • describe, 一次性产生多个汇总统计
19.3
  • count , 非NA的数量
  • describe 针对Series 或DataFrame列计算汇总统计
  • min, max 计算最小值或最大值
  • argmin, argmax 计算能够获取到最小值和最大值的索引位置(整数)
  • idxmin、idxmax 计算能够获取到最小值和最大值的索引值
  • quantile, 计算样本的分位数
  • sum
  • mean
  • median , 值的算数中位数
  • mad ,根据平均值计平局绝对离差
  • var 样本值的方差
  • std 样本值的标准差
  • skew 样本值的偏度(三阶矩)
  • kurt 样本值的峰度(四阶矩)
  • cumsum 样本值的累积和
  • cummin, cummax 样本值的累积最大值和累积最小值
  • cumprod 样本值的累积积
  • diff 计算一阶差分(时间序列)
  • pct_change 计算百分数变化

20.相关系数和协方差(空)
21.唯一值、值计数以及成元资格

  • unique , 得到唯一值数组
21
  • value_counts 用于计算一个Series中各值出现的频率
21.1
  • isin ,用于判断矢量化集合的成元资格
21,2

22.处理缺失数据
pandas 使用浮点值NaN表示浮点和非浮点数组中的缺失值。

22
  • dropna 根据各标签的值中是否存在缺失数据对轴标签进行过滤, 可通过阈值调节对缺失值的容忍度
  • fillna 对制定值或插值方法(fill / bfill)填充缺失数据
    *isnull 返回一个含有布尔值的对象,这个布尔值表示那些值是缺失值/NA,该对象的类型与源类型一样
  • notnull , isnull 的否定式

23.过滤缺失值

  • 对于Series , dropna 返回一个仅含非空数据和索引值的Series
23
  • DataFrame对象, dropna 默认丢弃任何含有缺失值的行
23.1
  • 传入how = 'all' 将只丢弃全为NA的那些行;
23.2

*要用这种方式丢弃列,只需传入axis=1即可

23.3
  • thresh参数,只 留下一部分观测数据 ?
23.4

24.填充缺失数据, fillna

  • 通常一个常数调用fillna, 也可通过一个字典调用
24
  • 可用fillna实现许多功能,插值方法
24.1
24.2

fillna函数的参数

  • value
  • method
  • axis
  • inplace
  • limit

25.层次化索引
26.重排分级顺序
27.根据级别汇总统计
28.使用DataFrame的列
29.整数索引
30.面板数据

推荐阅读更多精彩内容