SciPy是基于NumPy开发的高级模块,它提供了许多数学算法和函数的实现,用于解决科学计算中的一些标准问题。例如数值积分和微分方程求解,扩展的矩阵计算,最优化,概率分布和统计函数,甚至包括信号处理等。
作为标准科学计算程序库,SciPy类似于Matlab的工具箱,它是Python科学计算程序的核心包,它用于有效地计算NumPy矩阵,与NumPy矩阵协同工作。
SciPy库由一些特定功能的子模块构成,如下表所示:
模块 | 功能 |
---|---|
cluster | 矢量量化 / K-均值 |
constants | 物理和数学常数 |
fftpack | 傅里叶变换 |
integrate | 积分程序 |
interpolate | 插值 |
io | 数据输入输出 |
linalg | 线性代数程序 |
ndimage | n维图像包 |
odr | 正交距离回归 |
optimize | 优化 |
signal | 信号处理 |
sparse | 稀疏矩阵 |
spatial | 空间数据结构和算法 |
special | 任何特殊数学函数 |
stats | 统计 |
以上子模块全依赖于NumPy且相互独立,导入NumPy和这些SciPy模块的标准方式如下,示例代码:
>>>import numpy as np
>>>from scipy import stats
以上代码表示从SciPy模块中导入stats子模块,SciPy的其他子模块导入方式与之相同,限于机器学习研究领域及篇幅限制,本章将重点介绍linalg、optimize、interpolate及stats模块。