Numpy
Numpy, 为Numerical Python的缩写,包含以下内容:
- 快速高效的多维数组体ndarray
- 对数组进行元素级计算或数组间的数学运算的函数
- 对硬盘进行读写数组的工具
- 线性代数运算,Fourier变换,以及随机数生成
- 成熟的C API对Python进行扩展,可以方便进行原生C或C++代码获取Numpy的数据结构并进行计算
pandas
pandas提供了高阶的数据结构和函数,可以快速简单善于表达地处理结构数据或表格数据,包含以下内容:
- 对具有标签轴(labeled axes)的数据结构自动支持或显式数据排列----这可以避免由误排数据引起的常规错误,并可以处理来自不同资源的具有不同索引的序列(differently indexed data)
- Integrated time series functionality
- 使用相同的数据结构处理时间序列数据和非时间序列数据
- 算术运算和缩减(reduction)来保存元数据(metadata)
- 灵活处理缺失的数据
- merge和其他在流行数据库中的相关操作(例如,SQL-based)
matplotlib
matplotlib是用于绘图和其他二维数据可视化的最流行的Python库
SciPy
Scipy是用于处理科学计算方面的大量不同标准问题的包集,典型的包有:
- scipy.integrate:常规数值积分和微分方程求解
- scipy.linalg:对numpy.linalg提供的线性代数运算和矩阵分解的扩展
- scipy.optimize:函数优化算法和求根算法
- scipy.signal:信号处理工具
- scipy.sparse:稀疏矩阵和稀疏线性系统求解
- scipy.special:关于SPECFUN的封装,一个Fortran库,包含许多常规数学函数,如gama函数
- scipy.stats:标准连续和离散概率分布(密度函数,样本,连续分布函数),各种统计试验,以及更多描述性统计(descriptive statistic)
scikit-learn
scikit-learn为Python程序员提供了通用机器学习工具箱,包含以下子模块:
- 分类:SVM, nearest neighbors, random forest, logistic regression, etc.
- 回归:Lasso, ridge regression, etc.
- 聚类:k-means, spectral clustering, etc
- 降维:PCA, feature selection, matrix factorization, etc.
- 模型选择:Grid search, cross-validation, metrics
- 预处理: Feature extraction, normalization
statsmodels
相比于scikit-learn,statsmodels包含经典的统计学(频率派)和计量经济学,有以下子模块:
- 回归模型:Linear regression, generalized linear models, robust linear models, linear mixed effects models, etc.
- 方差分析(Analysis of variance(ANOVA))
- 时间序列分析:AR, ARMA, ARIMA, VAR, 以及其他模型
- Nonparametric methods: kernel density estimation, kernel regression
- 统计学模型结果的可视化