1、Numpy
Numpy(Numerical Python)是Python科学计算的基础包。它提供了以下功能:
- 快速高效的多维数组对象
- 用于对数组执行元素及计算以及直接对数组指定科学计算的函数
- 用于读写硬盘上基于数组的数据集的工具
- 线性代数运算、傅里叶变化、随机数生成
- 集成C、C++、Fortran代码的工具
除了为Python提供快速地数组处理能力,NumPy在数据分析方面还有一个作用即作为在算法之间传递数据的容器。对于数值型数据,NumPy数组比内置的Python数据结构要快的多。
2、pandas
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数。
- pandas兼具Numpy高性能的数组计算功能以及电子表格和关系型数据库灵活的数据处理功能。提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。
- pandas提供了大量使用与金融数据的高性能时间序列功能和工具。
3、matplotlib
matplotlib是最流行的用于绘制数据图表的Python库。
4、seaborn
基于matplotlib,但是可以更快地画出“好看的”图表。
4、IPython
Ipython将其他所有的东西联系到一起,是一个增强的Python Shell。目的是提高编写、测试、调试代码的速度。主要用于交互式数据处理和利用matplotlib对数据进行可视化处理。
除了标准的基于终端的IPython shell以外,该项目还提供:
- 一个类似于Mathematica的HTML笔记本
- 一个基于Qt框架的GUI控制台
- 用于交互式并行和分布式计算的基础框架
5、Scipy
Scipy是一组专门用于解决科学计算中各种标准问题域的包的集合。包括:
- scipy.integrate:数值积分例程和微分方程求解器
- scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能
- scipy.optimize:函数优化器(最小化器)以及根查找算法、线性规划、整数规划
- scipy.signal:信号处理工具
- scipy.sparse:稀疏矩阵和稀疏线性系统求解器
- scipy.special:SPECFUN(实现了许多常用数学函数的Fortran库)的包装器
- scipy.stats:标准持续和离散概率分布、各种统计检验方法,以及更好的描述统计法
- scipy.weave:通过内联C++代码加速数组计算的工具
Numpy和Scipy的有机结合完全可以替代MATLAB的计算功能。