本文内容均源于韦斯·麦金尼《利用python进行数据分析》第二版
1.Numpy(numerial python)
提供多种数据结构,算法以及大部分设计python数值计算所需的接口。
2.pandas
pandas整合表格和关系型数据库(如mysql)的灵活数据操作能力和numpy的高性能数组计算的理念。用于实现表格化、面向列、使用行列标签的数据结构;以及series,一种一维标签数组对象。它提供复杂的索引函数,使得数据的重组、切块、切片、聚合、子集选择更为简单。
3.matplotlib
最流行的用于制图及其他二维数据可视化的python库。
4.ipython与jupyter
ipython的设计侧重于在交互计算和软件开发两方面将生产力最大化,是具有交互性的python解释器。它还提供针对操作系统命令行和文件系统的易用接口。
jupyter则是能够适用于更多语言的交互式计算工具,其可以支持40多种编程语言。ipython可以作为一种编程语言模式用于在jupyter中使用python。(可以通过基于web、支持多语言的代码“笔记本”——jupyter Notebook来使用ipython系统)
5.scipy
数据计算领域争对不同标准问题域的包合集。如scipy.integrate(数值积分例程和微分方程求解器);scipy.linalg(线性代数例程和基于numpy.linalg的矩阵分解;scipy.optimize(函数优化器和求根算法);scipy.signal(信号处理工具);scipy.sparse(稀疏矩阵与稀疏线性系统求解器)等
6.scikit-learn
python编程者的机器学习工具包,包括以下子模块
7.statsmodels
统计分析包,源于斯坦福教授Jonathan Taylor利用R语言实现的各类分析模型,与scikit-learn有所区别的,statsmodels包含经典的统计学、经济学算法,如回归模型(线性回归、通用线性模型、鲁班线性模型、线性混合效应模型等);方差分析(ANOVA);时间序列分析;非参数方法;统计模型结果可视化。
statsmodels专注于统计推理,提供不确定性评价和p值参数。scikit-learn侧重于预测。