每一个时代,都不缺少英雄。真正的英雄,通常都会默默无闻地隐于市井,而当危难来临的时刻,他们总会在正确的时刻出现在正确的位置上。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:离散