scipy简单介绍

什么是scipy

Scipy(Scientific Python)是一个开源的、基于Python的科学计算库,旨在提供广泛的数学、科学和工程计算功能。它是Python生态系统中的重要组成部分之一,与NumPy(Numerical Python)库密切相关。

  1. scipy.optimize: 提供了各种优化算法,用于寻找函数的最小值或最大值。

  2. scipy.stats: 包含了各种统计分布的函数,如正态分布、t分布、F分布等,以及统计测试方法,如假设检验、拟合分布等。

  3. scipy.interpolate: 用于插值和拟合数据的函数,可以用来生成平滑的曲线,填补缺失的数据等。

  4. scipy.signal: 提供信号处理相关的功能,如滤波、谱分析、波形生成等。

  5. scipy.linalg: 包含线性代数操作,例如矩阵分解、求解线性方程组等。

  6. scipy.integrate: 用于数值积分的函数,包括定积分、数值解微分方程等。

  7. scipy.spatial: 提供空间数据结构和算法,例如KD树、凸包计算等。

  8. scipy.special: 包含一些特殊函数,如伽马函数、贝塞尔函数等。

常用scipy.stats的包

scipy.stats 模块中,各种统计分布函数提供了以下常见操作:

  1. 概率密度函数(PDF,Probability Density Function):

pdf(x, *args, **kwds): 计算给定值 x 处的概率密度

  1. 累积分布函数(CDF,Cumulative Distribution Function):

cdf(x, *args, **kwds): 计算给定值 x 处的累积分布函数值。

  1. 分位数(Percentile,Quantile):

ppf(q, *args, **kwds): 计算给定累积分布概率 q 对应的分位数。

  1. 随机抽样(Random Sampling):

rvs(size=None, *args, **kwds): 生成指定大小的随机样本。

scipy.stats 模块中常用的统计分布的函数

  1. 正态分布(Normal Distribution):

norm.pdf(x, loc=0, scale=1): 计算正态分布在给定值 x 处的概率密度。
norm.cdf(x, loc=0, scale=1): 计算正态分布在给定值 x 处的累积分布函数值。
norm.ppf(q, loc=0, scale=1): 计算正态分布的给定累积分布概率 q 对应的分位数。

  1. t 分布(t-distribution):

t.pdf(x, df, loc=0, scale=1): 计算t分布在给定自由度 df 下,值 x 处的概率密度。
t.cdf(x, df, loc=0, scale=1): 计算t分布在给定自由度 df 下,值 x 处的累积分布函数值。

  1. F 分布(F-distribution):

f.pdf(x, dfn, dfd, loc=0, scale=1): 计算F分布在给定分子自由度 dfn 和分母自由度 dfd 下,值 x 处的概率密度。

  1. 卡方分布(Chi-Square Distribution):

chi2.pdf(x, df, loc=0, scale=1): 计算卡方分布在给定自由度 df 下,值 x 处的概率密度。

  1. 二项分布(Binomial Distribution):

binom.pmf(k, n, p): 计算二项分布在给定试验次数 n、成功概率 p 下,成功次数为 k 的概率质量函数值。

  1. 泊松分布(Poisson Distribution):

poisson.pmf(k, mu): 计算泊松分布在给定平均值 mu 下,取值为 k 的概率质量函数值。

posted @ 2023-08-28 23:29  SL霸霸  阅读(390)  评论(0编辑  收藏  举报