本文将从宏观上说明这三个库所具有的功能:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
numpy
提供N维的数组数据结构,和有用的线性代数、傅里叶变换、随机数等功能,可以和C/C++、Fortran代码交互。
- 概念
- axes 轴:数据的维度
- rank 秩:维度的数量叫做秩
- 长度:不同的轴有不同的长度
- axes 轴:数据的维度
- 函数
ndarry
,array
- ndim:rank
- shape: lengths of axes
- size: product of shape elements
- dtype: type of elements in array
- itemsize: size in bytes of each elements of array
- data: data buffer
- 数据操纵
- 创建
- np.array
- list of numbers
- list of tuples
- np.zeros, np.ones, np.empty
- size of matrix
- np.eye:对角单位矩阵
- np.arange
- np.linspace
- np.copy
- np.array
- 修改
- 排序、变形、降维、转置
- 添加、移除
- 合并、切分
- 索引、切片、取子集
- 向量数学计算(对每一个元素)
- 统计
- mean, sum, min, max
- var:variance,方差
- std:standard deviation,标准差
- corrcoef: correlation coefficient,相关系数
- 创建
pandas
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions,
在numpy的基础上构建的更高层次的数据操纵工具。numpy本身是一个很低层次的工具,和matlab非常相似。
pandas提供了时间序列功能,数据对齐,NA友好分析(?),分组,合并,取交集(join)等功能。
- 概念
- df: DataFrame,数据帧
- s: Series,序列
- Panel
- 数据操纵
- 导入、导出
- csv, TSV, excel, sql, json, html, clipboard, dict<key: list>
- 随机创建
- 检阅数据
- 选择定位数据
- 数据清洗
- 排序、分组
- 过滤、排序、分组
- 合并、组合
- 行合并
- 列合并
- SQLlike join
- left
- right
- outer
- inner
- 统计
- describe()
- mean(), min(), max(), median(), std()
- corr(), count()
- 导入、导出
matplotlib
matplotlib 即 math``plot``lib
,数学绘图库。
Links
- What are the differences between Pandas and NumPy+SciPy in Python? - Stack Overflow
- 《Python for Data Analysis》
- Python_Matplotlib_Cheat_Sheet.pdf
- numpy-cheat-sheet.pdf
- pandas-cheat-sheet.pdf