Python 的科学计算工具¶
SciPy 指的是几个相关但不同的实体
SciPy 生态系统,一个用于 Python 科学计算的开源软件集合。
使用和开发此堆栈的社区。
几个专门针对 Python 科学计算的会议 - SciPy、EuroSciPy 和 SciPy.in。
The SciPy 库,SciPy 堆栈的一个组件,提供了许多数值例程。
SciPy 生态系统¶
Python 中的科学计算建立在少量核心包的基础上
Python,一种通用编程语言。它是解释型和动态类型的,非常适合交互式工作和快速原型设计,同时功能强大到足以用它编写大型应用程序。
NumPy,数值计算的基本包。它定义了数值数组和矩阵类型以及对它们的的基本操作。
The SciPy 库,一个包含数值算法和特定领域工具箱的集合,包括信号处理、优化、统计等等。
Matplotlib,一个成熟且流行的绘图包,提供出版质量的 2-D 绘图,以及基本的 3-D 绘图。
在此基础上,SciPy 生态系统包括用于数据管理和计算、高效实验和高性能计算的通用和专门工具。下面,我们将概述一些关键包,尽管还有 许多其他相关的包。
数据和计算
pandas,提供高性能、易于使用的数据结构。
SymPy,用于符号数学和计算机代数。
NetworkX,是一个用于分析复杂网络的工具集合。
scikit-image 是一个用于图像处理的算法集合。
scikit-learn 是一个用于机器学习的算法和工具集合。
生产力和高性能计算
IPython,一个丰富的交互式界面,让你可以快速处理数据和测试想法。
Jupyter 笔记本在您的 Web 浏览器中提供 IPython 功能以及更多功能,使您能够以易于重现的形式记录您的计算。
Cython 扩展了 Python 语法,以便您可以方便地构建 C 扩展,无论是为了加速关键代码还是为了与 C/C++ 库集成。
Dask、Joblib 或 IPyParallel 用于分布式处理,重点关注数值数据。
质量保证
nose,一个用于测试 Python 代码的框架,正在逐步淘汰,取而代之的是 pytest。
numpydoc,一个用于记录科学 Python 库的标准和库。