python数据分析与展示 – 第三周/单元七/Pandas库入门

由于系统重装之前的笔记没有备份…现在回顾课件重新整理一份,不再重新观看视频。

Pandas库介绍

  • Python第三方库,基于Numpy,提供高性能易用数据类型和分析工具
  • import pandas as pd

  • series.cumsum(), 计算前N项累加和

  • 两个数据类型: Series, DataFrame
  • 基于以上数据类型的各类操作:基本操作、运算操作、特征类操作、关联类操作
Numpy Pandas
基础数据类型 扩展数据类型
关注数据的结构表达 关注数据的应用表达
维度:数据间关系 数据与索引间关系

Series类型

  • 由一组数据及与之相关的数据索引组成
  • 在一个series输出中,第一列为自动索引

  • 添加自定义索引: index=

Series的创建

  • python列表, index与列表元素个数一致
  • 标量值,idndex表达Series类型的尺寸
  • python字典,键值对中“键”是索引,index从字典中进行选择操作
  • ndarray,索引和数据都可以通过ndarray类型创建
  • 其它函数,range()函数等

Series基本操作

  • conclude index and values
  • like ndarray
    • 索引方式相同,[]
    • np运算和操作可用于Series
    • 可用自定义索引的列表进行切片
    • 可通过自动索引进行切片,若存在自定义索引,则一同被切片
  • like dictionary in python
    • 通过自定义索引访问
    • 保留字in操作
    • 使用.get()方法

Basic Operations

Operations like numpy

Operations like dictionary

Alignment & name attribute(for both series and index) & Change

DataFrame类型

  • 由共用相同索引的一组列组成
  • 表格型数据,每列值类型可以不同
  • 既有行索引,又有列索引
  • 常用于表达二维数据、但可用于多维数据

DataFrame的创建

  • From 二维ndarray对象
  • 由一维ndarrya、列表、字典、元组或Series构成的字典
  • Series类型
  • 其他DataFrame类型

  • .index Row index
  • .columns Columns index
  • .values Array of each row

Operations

  • 增加或重排:重新索引 .reindex(index=None, columns=None, ...)
参数 说明
index, columns 新的行列自定义索引
fill_value 重新索引中,用于填充缺失位置的值
method 填充方法,ffill当前值向前填充,bfill向后填充
limit 最大填充量
copy 默认True, 生成新的对象, False时, 新旧相等不复制
  • Index对象是不可修改类型
Index的方法 说明
.append(idx) 连接另一个Index, 产生新的Index
.diff(idx) 计算差集, 产生新的Index
.intersection(idx) 计算交集
.union(idx) 计算并集
.delete(loc) 删除loc位置处的元素
.insert(loc,e) 在loc位置增加一个元素e
  • 删除:drop
    • 删除指定行或列索引,列索引需加参数axis=1

Calculation

  • 运算默认产生浮点数
  • 缺项填充NaN
  • 二维和一维,一维和零维间为广播运算
  • + - * / 产生新的对象

方法 说明
.add(d,**argws) 类型间加法运算,可选参数
.sub(d, **argws) 类型间减法运算,可选参数
.mul(d,**argws) 类型间乘法运算,可选参数
.div(d,**argws) 类型间除法运算,可选参数

  • 广播运算中,一维Series默认在轴1参与运算

Comparer

  • 只能比较相同索引的元素,不进行补齐
  • 二维和一维、一维和零维为广播运算
  • .lt .gt .ge .le .eq .ne 等二元运算产生布尔对象
    • > <.. are used in different dimensions.

Leave a Reply

Your email address will not be published.