Scipy简介
Scipy是一个以Numpy模块为基础的第三方Python模块,使用Scipy模块可以完成一些进阶的科学计算操作,所以在学习Scipy的过程中需要一定的数学基础,比如高等数学、线性代数、微积分和概率论等。
Scipy常用模块简介
- scipy.cluster:聚类相关
- scipy.fftpack:快速傅里叶变换相关
- scipy.integrate:积分和常微分方程求解相关
- scipy.interpolate:插值相关
- scipy.io:输入输出相关
- scipy.optimize:优化相关
- scipy.signal:信号处理相关
- scipy.sparse:稀疏矩阵相关
- scipy.stats:统计相关
- scipy.ndimage:N维 图像处理相关
- scipy.misc: 图像处理相关
- scipy.maxentropy:最大熵相关
- scipy.constant:物理和数学常数相关
- scipy.special:特殊函数
常用Scipy函数
import scipy as sp
# 插值模块interpolate
sp.interpolate.inter1d()#一维插值
sp.interpolate.inter2d()#二维插值
sp.interpolate.internd()#n维插值
插值函数中kind参数:
‘nearest’ :最近邻插值
‘zero’ :零阶插值
‘linear’ :线性插值(一次插值)
‘quadratic’ :二次插值
‘cubic’ :三次插值
数字4,5,6,7为更加高阶的插值方法
# 统计相关模块stats
sp.stats.norm.rvs()#标准正态分布
sp.stats.norm.fit()#估算正态分布的参数
sp.stats.norm.pdf()#计算对应位置的概率密度
sp.state.norm.ppf()#找到标准正态分布中概率恰好为一半的点
sp.stats.expon()#指数分布
sp.stats.norm.cdf() #累积分布函数
sp.stats.norm.sf() #残存函数
sp.stats.norm.isf() #逆残存函数
sp.stats.t()#t分布
sp.stats.beta() #beta分布
sp.stats.gamma()#gamma分布
sp.stats.hypergeom()#超几何分布
sp.stats.lognorm()#对数正态分布
sp.stats.uniform()#均匀分布
sp.stats.chi2() #卡方分布
sp.stats.cauchy() #柯西分布
sp.stats.laplace() #拉普拉斯分布
sp.stats.rayleigh() #瑞利分布
sp.stats.randint()#离散均匀分布
sp.stats.f()#f分布
sp.stats.binom()#二项分布
sp.stats.poisson()#泊松分布
sp.stats.rv_continuous()#自定义连续分布
sp.stats.rv_discrete()#自定义离散分布
sp.stats.mode()#计算数据的众数
sp.stats.skew()#计算数据的偏度
sp.stats.kurtosis()#计算数据的峰度
sp.stats.ttest_rel()#配对样本t检验
sp.stats.ttest_ind()#独立样本t检验
sp.stats.ttest_1samp()#单样本t检验
#优化模块optimize
sp.optimize.leastsq()#函数的最小二乘估计
sp.optimize.curve_fit()#函数的曲线拟合
sp.optimize.minimize()#函数的最小值
sp.optimize.rosen()#Rosenbrock函数(用来测试效果的非凸函数)
sp.optimize.root()#方程求根
sp.optimize.dual_annealing() #退火优化方法
#积分模块
sympy.init_printing()#初始化Sympy符号变量的显示
sympy.symbols()#产生Sympy符号变量
sympy.sqrt()#符号变量开方
sympy.sin()#符号变量求正弦
sympy.integrate()#符号变量求积分
sp.specail.jv()#贝塞尔函数
sp.intergrate.quad()#利用函数进行数值积分
sp.integrate.dblquad()#利用函数进行双重数值积分
sp.integrate.simps()#利用采样点进行数值积分
sp.integrate.trapz()#利用采用点进行数值积分
#稀疏矩阵模块
sp.sparse.coo_matrix()#创建COO类型的稀疏矩阵
sp.sparse.find()#查找稀疏矩阵中非零值及其坐标
#线性代数模块
sp.linalg.inv()#矩阵的逆
sp.linalg.solve()#线性方程组求解
sp.linalg.det()#求矩阵的行列式
sp.linalg.norm()#求矩阵或者向量的范数
sp.linalg.pinv()#求矩阵的广义逆
sp.linalg.eig()#矩阵的特征值分解
sp.linalg.svd()#矩阵的奇异值分解
#图像处理模块
sp.ndimage.ndimage.median_filter()#中值滤波
sp.ndimage.ndimage.guassian_filter()#高斯滤波
sp.signal.wiener()#维也纳滤波
sp.ndimage.ndimage.shift()#移动坐标
sp.ndimage.ndimage.rotate()#旋转坐标
sp.ndimage.ndimage.zoom()#缩放图片
sp.misc.imread()#读取图像
sp.misc.imresize()#改变图像尺寸
sp.misc.imsave()#保存图像
更多的使用方法可以去官方的网站学习.....小弟就不在这一一列举了。
参考:
《Python机器学习手册》——从数据预处理到深度学习
《自学Python》——编程基础、科学运算及数据分析
《Python编程快速上手》——让繁琐工作自动化
声明:转载请说明出处
下方为小生公众号,还望包容接纳和关注,一定坚持不懈写下去