scipy安装_科学计算工具包SciPy简介

SciPy是一个强大的Python科学计算库,基于NumPy扩展,涵盖了数学、科学和工程领域的众多算法,如积分、插值、线性代数、信号处理等。它拥有17个子模块,包括聚类、常数、傅里叶变换等,可以与MATLAB等系统相媲美。安装SciPy通常使用pip,并建议同时安装NumPy和Matplotlib。虽然SciPy包含NumPy的一些功能,但未来可能弃用,使用时应直接从NumPy导入。
摘要由CSDN通过智能技术生成

每一个时代,都不缺少英雄。真正的英雄,通常都会默默无闻地隐于市井,而当危难来临的时刻,他们总会在正确的时刻出现在正确的位置上。SciPy就是一位这样的英雄,他几乎无所不能,却鲜为人知。SciPy基于NumPy提供的数据结构之上,构建了大量的数学算法和工程函数,涵盖了数学分析、线性代数、空间向量、形态学、图像处理、信号分析、机器学习等几乎所有你能想象到的学科领域。受益于Python无数的模块和Matplotlib绘图库的辅助,SciPy在功能上已经足以与MATLAB、IDL、Octave、R-Lab和SciLab等系统相媲美,而在使用上远比上述这些系统更加灵活。

1. SciPy概览

SciPy是一个基于Python的用于数学、科学和工程的开源软件生态系统,而SciPy模块则是这个生态系统的核心包之一。SciPy库依赖于NumPy,提供了便捷且快速的多维数组操作,以及许多易用和高效的算法,如数值积分、插值、优化、线性代数和统计等。

2. SciPy的组成

SciPy的核心功能被封装在17个子模块中,子模块命名空间中的所有函数都是公有的。这意味着在后续的升级版本中,子模块中的所有函数不太可能以不兼容的方式重命名或更改,如果有必要,在进行更改之前,将对一个SciPy版本发出弃用警告。

  • scipy.cluster:聚类算法子模块。
  • scipy.constants:物理和数学常数子模块。
  • scipy.fft:离散傅里叶变换子模块。
  • scipy.fftpack:传统离散傅里叶变换子模块(即将被弃用)。
  • scipy.integrate:积分子模块。
  • scipy.interpolate:插值子模块。
  • scipy.io:输入输出子模块。
  • scipy.linalg:线性代数子模块。
  • scipy.misc:例程子模块。
  • scipy.ndimage:多维图像处理子模块。
  • scipy.odr:正交距离回归子模块。
  • scipy.optimize:优化与求根子模块。
  • scipy.signal:信号处理子模块。
  • scipy.sparse:稀疏矩阵子模块。
  • scipy.spatial:空间算法和数据结构子模块。
  • scipy.special:特殊函数子模块。
  • scipy.stats:统计函数子模块
3. 安装和导入

大多数情况下,使用pip命令就可以将SciPy安装在本地电脑上。如果你的Python环境还没有安装NumPy和Matplotlib等模块,建议一并安装它们。

PS C:\Users\xufive> python -m pip install numpy scipy matplotlib

SciPy模块命名空间下面,几乎包含了NumPy模块命名空间中的所有函数,比如,SciPy同样提供NumPy模块中的pi常数和余弦函数。

>>> import scipy as sp
>>> sp.cos(sp.pi)

Warning (from warnings module):
  File "__main__", line 1
DeprecationWarning: scipy.cos is deprecated and will be removed in SciPy 2.0.0, use numpy.cos instead
-1.0

SciPy模块提供的NumPy模块中的常数和函数,虽然可用,但会显示警告信息,提醒从2.0版本之后将弃用。这些功能的重复,显示了SciPy家族发展中的分分合合。基于SciPy家族模块分工的原因,当我们使用这些函数时,应该从NumPy模块而非SciPy模块导入。

当我们需要调用SciPy的子模块函数时,应该导入子模块或者从子模块名称空间导入函数。例如,当我们计算定积分时,可以导入积分子模块integrate,然后调用integrate.quad(),也可以从积分子模块integrate导入定积分函数quad()。下面这两种方式都是可行的。

>>> from scipy import integrate
>>> from scipy.integrate import quad

1b6465a517f430d4e36781f7084ae3ff.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值