SciPy

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 是一个用于机器学习的算法和工具集合。

  • h5pyPyTables 都可以访问存储在 HDF5 格式中的数据。

生产力和高性能计算

  • IPython,一个丰富的交互式界面,让你可以快速处理数据和测试想法。

  • Jupyter 笔记本在您的 Web 浏览器中提供 IPython 功能以及更多功能,使您能够以易于重现的形式记录您的计算。

  • Cython 扩展了 Python 语法,以便您可以方便地构建 C 扩展,无论是为了加速关键代码还是为了与 C/C++ 库集成。

  • Dask、Joblib 或 IPyParallel 用于分布式处理,重点关注数值数据。

质量保证

  • nose,一个用于测试 Python 代码的框架,正在逐步淘汰,取而代之的是 pytest。

  • numpydoc,一个用于记录科学 Python 库的标准和库。