SciPy 是基于Numpy构建的一个集成了多种数学算法和方便的函数的Python模块。通过给用户提供一些高层的命令和类,SciPy在python交互式会话中,大大增加了操作和可视化数据的能力。通过SciPy,Python的交互式会话变成了一个数据处理和一个system-prototyping环境,足以和MATLAB,IDL,Octave,R-Lab,以及SciLab抗衡。
更重要的是,在Python中使用SciPy,还可以同时用一门强大的语言————Python来开发复杂和专业的程序。用SciPy写科学应用,还能获得世界各地的开发者开发的模块的帮助。从并行程序到web到数据库子例程到各种类,都已经有可用的给Python程序员了。这些强大的功能,SciPy都有,特别是它的数学库。
事先声明,我们都是假设一些主要的类库(Numpy,SciPy,和matplotlib)已经像下面这样import进来了:
>>>
import
numpy as np
>>>
import
scipy as sp
>>>
import
matplotlib as mpl
>>>
import
matplotlib.pyplot as plt
SciPy是用子模块的形式来组织的,这些子模块涵括了不同科学计算领域的内容。下面这个表对他们进行了总结:
子模块 | 描述 |
constans | 物理和数学常数 |
cluster | 聚类算法 |
fftpack | 快速傅立叶变换程序 |
integrate | 集成和常微分方程求解器 |
interpolate | 拟合和平滑曲线 |
io | 输入和输出 |
linalg | 线性代数 |
maxentropy | 最大熵法 |
ndimage | N维图像处理 |
odr | 正交距离回归 |
optimize | 最优路径选择 |
signal | 信号处理 |
sparse | 稀疏矩阵和以及相关程序 |
spatial | 空间数据结构和算法 |
special | 特殊函数 |
stats | 统计上的函数和分布 |
weave | C/C++ 整合(integration) |
Scipy的子模块也需要单独import
>>>from scipy importsparse