Scipy
Introduction
SciPy是一个建立在Python的NumPy扩展上的数学算法和便利函数的集合。它通过为用户提供操作和可视化数据的高级命令和类,为交互式Python会话增加了巨大的力量。有了SciPy,交互式Python会话就变成了一个可以与MATLAB、IDL、Octave、R-Lab和SciLab等系统相媲美的数据处理和系统原型设计环境。
以Python为基础的SciPy的另一个好处是,这也使得一种强大的编程语言可以用于开发复杂的程序和专门的应用程序。使用SciPy的科学应用得益于世界各地的开发者在软件领域的众多利基中开发的附加模块。从并行编程到网络和数据库子程序和类,所有的东西都已提供给Python程序员使用。除了SciPy中的数学库外,所有这些功能都可以使用。
本教程将让第一次使用SciPy的人了解它的一些最重要的功能。它假定用户已经安装了SciPy软件包。还假设了一些通用的 Python 设施,比如通过 Python 发行版的教程可以获得。对于进一步的介绍性帮助,用户将被引导到NumPy文档。
Scipy Organization
SciPy被组织成覆盖不同科学计算领域的子包。下表对这些子包进行了总结:
SciPy 分为涵盖不同科学计算领域的子包,概述如下:
| Subpackage分包 | Description描述 |
|---|---|
cluster集群 | Clustering algorithms聚类算法 |
constants常数 | Physical and mathematical constants物理和数学常数 |
fftpackFftpack | Fast Fourier Transform routines快速傅里叶变换的例行公事 |
integrate整合 | Integration and ordinary differential equation solvers集成和常微分方程解决器 |
interpolate插入 | Interpolation and smoothing splines插值和平滑样条 |
io我 | Input and Output输入和输出 |
linalg琳达 | Linear algebra线性代数 |
ndimage(咒语) | N-dimensional image processingN 维图像处理 |
odrODR | Orthogonal distance regression正交距离回归 |
optimize优化 | Optimization and root-finding routines优化和寻根程序 |
signal信号 | Signal processing信号处理 |
sparse稀疏 | Sparse matrices and associated routines稀疏矩阵和相关例程 |
spatial空间 | Spatial data structures and algorithms空间数据结构和算法 |
special特别的 | Special functions特殊功能 |
stats统计数据 | Statistical distributions and functions统计分布和函数 |
| Subpackage | Description |
|---|---|
cluster | Clustering algorithms |
constants | Physical and mathematical constants |
fftpack | Fast Fourier Transform routines |
integrate | Integration and ordinary differential equation solvers |
interpolate | Interpolation and smoothing splines |
io | Input and Output |
linalg | Linear algebra |
ndimage | N-dimensional image processing |
odr | Orthogonal distance regression |
optimize | Optimization and root-finding routines |
signal | Signal processing |
sparse | Sparse matrices and associated routines |
spatial | Spatial data structures and algorithms |
special | Special functions |
stats | Statistical distributions and functions |
SciPy sub-packages need to be imported separately, for example:
SciPy的子包需要单独导入,例如:
from scipy import linalg, optimize
由于它们的普遍性,这些子包中的一些函数也在scipy命名空间中提供,以方便它们在交互式会话和程序中使用。此外,numpy的许多基本数组函数也可以在scipy包的顶层使用。在逐一查看子包之前,我们先来看看其中的一些常用函数。
Finding Documentation
SciPy和NumPy有HTML和PDF格式的文档版本,可在https://docs.scipy.org/,这些文档几乎涵盖了所有可用的功能。然而,这些文档仍在进行中,有些部分可能是不完整或稀少的。由于我们是一个志愿者组织,依靠社区的发展,我们欢迎并积极鼓励你的参与–从提供反馈到改进文档和代码的一切。
Python的文档字符串在SciPy中被用于在线文档。有两种方法可以阅读它们并获得帮助。一种是Python的pydoc模块中的命令帮助。输入这个没有参数的命令 (即 >>> help ) 可以启动一个交互式的帮助会话,允许在所有 Python 可用的关键字和模块中进行搜索。其次,以一个对象为参数运行命令help(obj)可以显示该对象的调用签名和文档字符串。
pydoc 的帮助方法很复杂,但使用一个 pager 来显示文本。有时这可能会干扰到你正在运行的交互式会话的终端。numpy.info命令下也有一个numpy/scipy专用的帮助系统。传递给帮助命令的对象的签名和文档字符串被打印到标准输出(或作为第三个参数传递的可写对象)。numpy.info的第二个关键字参数定义了打印时的最大行宽。如果一个模块被作为参数传递给help,那么将打印出该模块中定义的函数和类的列表。比如说:
4万+

被折叠的 条评论
为什么被折叠?



