🧠 一、SciPy 是什么?
SciPy(读作 “Sai-pai”)是 Python 的一个科学计算库,全名是 Scientific Python。
它建立在 NumPy(数值计算的基础库)之上,是专门为 科学、工程、数学计算 提供高级工具的集合。
简而言之:
🔹 NumPy 负责高效的数值运算(数组、矩阵、线性代数)
🔹 SciPy 在此基础上提供更高层次的数学与科学算法(积分、微分方程、优化、插值、统计等)
🧩 二、SciPy 的主要模块
SciPy 包含很多子模块,每个模块负责不同方向的科学计算任务。
| 模块名 | 主要功能 | 示例 |
|---|---|---|
| scipy.integrate | 积分、求解微分方程 | quad()、solve_ivp() |
| scipy.optimize | 优化、最小化问题 | minimize()、curve_fit() |
| scipy.interpolate | 插值与平滑 | interp1d()、griddata() |
| scipy.fft | 快速傅里叶变换 | fft()、ifft() |
| scipy.linalg | 线性代数运算(比 numpy 更强) | inv()、eig() |
| scipy.spatial | 空间数据结构与距离计算 | KDTree、distance_matrix() |
| scipy.stats | 概率统计分析 | norm.pdf()、ttest_ind() |
| scipy.signal | 信号处理 | convolve()、find_peaks() |
| scipy.ndimage | 多维图像处理 | gaussian_filter()、sobel() |
SciPy 是 NumPy 的“进阶扩展”。
大部分 SciPy 函数都以 NumPy 数组为输入输出。
🧩 五、SciPy 的安装
pip install scipy
安装后可以这样导入:
import scipy
from scipy import integrate, optimize
🌍 六、应用领域
SciPy 广泛应用于:
-
🌡️ 物理建模(热传导、振动方程)
-
📈 金融数学(最优投资、蒙特卡洛)
-
🧬 生物统计与信号处理
-
🤖 机器学习算法原型
-
🌪️ 气象、天体模拟(如 FV3 动力核中的数值积分)