Pandas 是 Python 里分析结构化数据的工具集
基础是 numpy:高性能矩阵运算
图形库 matplotlib: 提供数据可视化
结构化数据分析
数据挖掘
例子:
python 命令行与 ipython命令行的区别:
显示的数据可读性更强
import numpy as np
from numpy.random.randn
data = {i: randn(i} for i in range(6)}
命令补全
Shell 命令:
* 大部分直接可工作 cd, ls, pwd
* 少部分可在前面加 ! 号 !rename
内省:类或变量加问号
魔术命令
* %run 命令
* %timeit 命令
* %quickref 显示快速参考文档
* %magic 显示魔术命令列表和文档
ipython notebook
在web上进行探索性编程,内联图片显示
启动
ipython notebook
特点
* web 上的 ipython
* 显示内联图片
* 导出数据和分析过程
* 多维数组
* 多维数组的运算
创建
* 一维数组
* 二维数组
属性
* shape
* dtype
使用数组来索引
使用布尔值索引
数学运算
矩阵运算
其他常用函数
创建pandas对象
查看数据
选择数据
处理丢失数据
数据运算
数据合并
数据分组
数据整形
数据透视
时间序列
数据可视化
数据载入与保存
分析MoiveLens电影数据
Series 是一维带标签的数组,数组里可以放任意的数据(整数,浮点数,字符串,Python Object)。其基本的创建函数是:
s = pd.Series(data, index=index)
其中 index 是一个列表,用来作为数据的标签。data 可以是不同的数据类型:
Series 对象的性质
创建:
DataFrame 是二维带行标签和列标签的数组。可以把 DataFrame 想你成一个 Excel 表格或一个 SQL 数据库的表格,还可以相像成是一个 Series 对象字典。它是 Pandas 里最常用的数据结构。
创建 DataFrame 的基本格式是:
df = pd.DataFrame(data, index=index, columns=columns)
其中 index 是行标签,columns 是列标签,data 可以是下面的数据:
特性:
panel:
Panel 是三维带标签的数组。实际上,Pandas 的名称由来就是由 Panel 演进的,即 pan(el)-da(ta)-s。Panel 比较少用,但依然是最重要的基础数据结构之一。
items: 坐标轴 0,索引对应的元素是一个 DataFrame
major_axis: 坐标轴 1, DataFrame 里的行标签
minor_axis: 坐标轴 2, DataFrame 里的列标签
重新索引
丢弃部分数据
映射函数:
apply/applymap
排序和排名
数据唯一性及成员资格
行索引
列索引
索引类
重复索引
多层索引:
创建
索引交换
按照索引层次进行统计
索引与列的转换