SciPy 安装使用教程
一、SciPy 简介
SciPy(Scientific Python)是基于 NumPy 的开源科学计算库,提供了数值积分、优化、信号处理、线性代数、统计分析等高级科学计算功能。它是构建 Python 科学计算生态系统的核心组件之一,常用于科研、工程、数据分析等领域。
二、安装 SciPy
2.1 使用 pip 安装(推荐)
pip install scipy
2.2 使用 Anaconda 安装(科学计算推荐)
conda install scipy
2.3 验证安装
import scipy
print(scipy.__version__)
三、SciPy 子模块简介
模块 | 作用说明 |
---|---|
scipy.integrate | 积分计算 |
scipy.optimize | 函数优化与最小值求解 |
scipy.stats | 概率分布与统计测试 |
scipy.linalg | 线性代数运算(比 NumPy 更丰富) |
scipy.fft | 傅里叶变换 |
scipy.signal | 信号处理 |
scipy.spatial | 空间数据结构与计算几何 |
scipy.cluster | 聚类算法 |
四、使用示例
4.1 数值积分
from scipy import integrate
result, _ = integrate.quad(lambda x: x**2, 0, 1)
print(result) # 输出 1/3 ≈ 0.333
4.2 函数最小值
from scipy import optimize
f = lambda x: x**2 + 10*np.sin(x)
res = optimize.minimize(f, x0=0)
print(res.x)
4.3 统计分析
from scipy import stats
data = [2, 4, 6, 8, 10]
print(stats.mean(data))
print(stats.variation(data)) # 变异系数
五、线性代数计算
from scipy import linalg
import numpy as npA = np.array([[1, 2], [3, 4]])
b = np.array([1, 2])
x = linalg.solve(A, b)
print(x)
六、信号处理
from scipy import signal
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 1, 500)
y = signal.sawtooth(2 * np.pi * 5 * x)plt.plot(x, y)
plt.title("Sawtooth 波形")
plt.show()
七、空间与距离计算
from scipy.spatial import distancea = [1, 2]
b = [4, 6]
print(distance.euclidean(a, b)) # 欧几里得距离
八、常见问题
Q1: 报错 ModuleNotFoundError: No module named 'scipy'
?
请确保正确安装了 scipy
:
pip install scipy
或者使用 conda 安装:
conda install scipy
Q2: 安装太慢?
可尝试使用清华镜像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy
九、学习资源推荐
- SciPy 官方文档
- SciPy 教程(菜鸟教程)
- Python 科学计算手册
- 《Python 科学计算》 作者:Travis Oliphant
本文由“小奇Java面试”原创发布,转载请注明出处。
可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。