SciPy API

1 介绍

1.1 Importing from SciPy

关于 Python 中公开和不公开的一些广泛理解的规则是:

  • 名称以下划线开头的方法/函数/类和模块属性是私有的。
  • 如果类名以前导下划线开头,则其成员都不是公共的,无论它们是否以前导下划线开头。
  • 如果包中的模块名称以前导下划线开头,则其成员都不是公共的,无论它们是否以前导下划线开头。
  • 如果一个模块或包定义了 __all__,则它权威地定义了公共接口。
  • 如果模块或包没有定义 __all__,那么所有不以前导下划线开头的名称都是公共的。

Note:
阅读上述指南可以得出结论,每个私有模块或对象都以下划线开头。下划线的存在确实将某些内容标记为私有,但没有下划线不会将某些内容标记为公开。

2 统计函数 ( scipy.stats)

该模块包含大量概率分布、汇总和频率统计、相关函数和统计检验、掩蔽统计、核密度估计、准蒙特卡洛函数等。

统计是一个非常大的领域,有些主题超出了 SciPy 的范围,并且被其他包涵盖。一些最重要的是:

  • statsmodels:回归,线性模型,时间序列分析,扩展主题也被 scipy.stats 涵盖。
  • Pandas:表格数据、时间序列功能、与其他统计语言的接口。
  • PyMC:贝叶斯统计建模,概率机器学习。
  • scikit-learn:分类、回归、模型选择。
  • Seaborn:统计数据可视化。
  • rpy2:Python 到 R 的桥接器。

2.1 概率分布

每一个单变量分布都是 rv_continuous 子类的一个实例。(rv_discrete 针对离散分布)

描述
rv_continuous([momtype, a, b, xtol, …])用于子类化的通用连续随机变量类。
rv_discrete([a, b, name, badvalue, …])用于子类化的通用离散随机变量类。
rv_histogram(histogram, *args, **kwargs)生成由直方图给出的分布。

2.1.1 连续分布

描述
alpha一个 alpha 连续随机变量。
anglit一个有角度的连续随机变量。
arcsine反正弦连续随机变量。
argus阿格斯分布
beta一个 beta 连续随机变量。
betaprime一个 beta 素数连续随机变量。
bradfordBradford 连续随机变量。
burrBurr (Type III) 连续随机变量。
burr12Burr (Type XII) 连续随机变量。
cauchy一个柯西连续随机变量。
chi一个 chi 连续随机变量。
chi2卡方连续随机变量。
cosine一个余弦连续随机变量。
crystalball水晶球分布
dgamma双伽马连续随机变量。
dweibull双 Weibull 连续随机变量。
erlangErlang 连续随机变量。
expon指数连续随机变量。
exponnorm一个指数修正的正态连续随机变量。
exponweib取幂的 Weibull 连续随机变量。
exponpow指数幂连续随机变量。
f一个 F 连续随机变量。
fatiguelife疲劳寿命 (Birnbaum-Saunders) 连续随机变量。
fiskFisk 连续随机变量。
foldcauchy一个折叠的柯西连续随机变量。
foldnorm折叠正态连续随机变量。
genlogistic广义逻辑连续随机变量。
gennorm广义正态连续随机变量。
genpareto广义帕累托连续随机变量。
genexpon广义指数连续随机变量。
genextreme广义极值连续随机变量。
gausshyper高斯超几何连续随机变量。
gamma伽马连续随机变量。
gengamma广义伽马连续随机变量。
genhalflogistic一个广义的半逻辑连续随机变量。
genhyperbolic广义双曲连续随机变量。
geninvgauss广义逆高斯连续随机变量。
gilbratGilbrat 连续随机变量。
gompertzGompertz(或截断的 Gumbel)连续随机变量。
gumbel_r右偏 Gumbel 连续随机变量。
gumbel_l左偏 Gumbel 连续随机变量。
halfcauchy半柯西连续随机变量。
halflogistic半逻辑连续随机变量。
halfnorm半正态连续随机变量。
halfgennorm广义正态连续随机变量的上半部分。
hypsecant双曲正割连续随机变量。
invgamma倒置伽马连续随机变量。
invgauss逆高斯连续随机变量。
invweibull一个倒置 Weibull 连续随机变量。
johnsonsbJohnson SB 连续随机变量。
johnsonsuJohnson SU 连续随机变量。
kappa4Kappa 4 参数分布。
t学生 t 连续随机变量。

2.1.1.1 scipy.stats.t

学生 t 连续随机变量。

t 分布的密度函数为:
在这里插入图片描述

from scipy.stats import t

stats.t

2.1.2 多元分布

描述
multivariate_normal多元正态随机变量。
matrix_normal矩阵正态随机变量。
dirichlet狄利克雷随机变量。
wishartWishart 随机变量。
invwishart逆 Wishart 随机变量。
multinomial多项式随机变量。
special_ortho_group矩阵值 SO(N) 随机变量。
ortho_group矩阵值 O(N) 随机变量。
unitary_group矩阵值 U(N) 随机变量。
random_correlation随机相关矩阵。
multivariate_t多元 t 分布随机变量。
multivariate_hypergeom多元超几何随机变量。

2.1.3 离散分布

描述
bernoulli伯努利离散随机变量。
betabinom一个 beta-二项式离散随机变量。
binom二项式离散随机变量。
boltzmann玻尔兹曼(截断离散指数)随机变量。
dlaplace拉普拉斯离散随机变量。
geom几何离散随机变量。
hypergeom超几何离散随机变量。
logser一个对数(Log-Series,Series)离散随机变量。
nbinom负二项式离散随机变量。
nchypergeom_fisherFisher 的非中心超几何离散随机变量。
nchypergeom_walleniusWallenius 的非中心超几何离散随机变量。
nhypergeom负超几何离散随机变量。
planck普朗克离散指数随机变量。
poisson泊松离散随机变量。
randint一个均匀的离散随机变量。
skellamSkellam 离散随机变量。
yulesimonYule-Simon 离散随机变量。
zipfZipf (Zeta) 离散随机变量。
zipfianZipfian 离散随机变量。

2.2 汇总统计

下面给出统计函数的概述。其中许多函数都有类似的版本在 scipy.stats.mstats 中,适用于掩码数组。

描述
describe(a[, axis, ddof, bias, nan_policy])计算传入数组的几个描述性统计数据。
gmean(a[, axis, dtype, weights])计算沿指定轴的几何平均值。
hmean(a[, axis, dtype])计算沿指定轴的调和平均值。
kurtosis(a[, axis, fisher, bias, nan_policy])计算数据集的峰度(Fisher 或 Pearson)。
mode(a[, axis, nan_policy])返回传入数组中模态(最常见)值的数组。
moment(a[, moment, axis, nan_policy])计算样本均值的第 n 个矩。
skew(a[, axis, bias, nan_policy])计算数据集的样本偏度。
kstat(data[, n])返回第 n 个 k 统计量(到目前为止 1<=n<=4)。
kstatvar(data[, n])返回 k 统计量方差的无偏估计量。

2.3 频率统计

描述
cumfreq(a[, numbins, defaultreallimits, weights])使用 histogram 函数返回累积频率直方图。
percentileofscore(a, score[, kind])计算分数相对于分数列表的百分位排名。
scoreatpercentile(a, per[, limit, …])计算输入序列给定百分位数的分数。
relfreq(a[, numbins, defaultreallimits, weights])使用 histogram 函数返回相对频率直方图。
binned_statistic(x, values[, statistic, …])计算一组或多组数据的分箱统计量。
binned_statistic_2d(x, y, values[, …])计算一组或多组数据的二维分箱统计量。
binned_statistic_dd(sample, values[, …])计算一组数据的多维分箱统计量。

2.4 相关函数

描述
f_oneway(*args[, axis])执行单向方差分析。
alexandergovern(*args[, nan_policy])执行 Alexander Govern 测试。
pearsonr(x, y)用于检验非相关性的 Pearson 相关系数和 p 值。
linregress(x[, y, alternative])计算两组测量值的线性最小二乘回归。

2.4.1 scipy.stats.linregress

计算两组测量值的线性最小二乘回归。

from scipy import stats

stats.linregress(x, y=None, alternative='two-sided')
'''参数
x, y: array_like
	两组测量值。两个数组的长度应该相同。如果只给出了x(并且y=None),那么它必须是一个二维数组,其中一维的长度为2。然后通过沿 length-2 维分			
	割数组找到两组测量值。
	在y=None且x是2x2数组的情况下,linregress(x) 等价于 linregress(x[0], x[1])。
alternative: {‘two-sided’, ‘less’, ‘greater’}, optional
			‘two-sided’: 回归线的斜率是非零的。
			‘less’: 回归线的斜率小于零。
			‘greater’: 回归线的斜率大于零。
'''

'''返回
LinregressResult 实例。
返回值是一个具有以下属性的对象:
	slope: float
		回归线的斜率。
	intercept: float
		回归线的截距。
	rvalue: float
		皮尔逊相关系数。rvalue 的平方等于决定系数。
	pvalue: float
		对零假设为斜率为零的假设检验的p值,使用带有检验统计量t分布的Wald检验。
	stderr: float
		估计的斜率(梯度)的标准误差,在残差正态性的假设下。
	intercept_stderr: float
		估计的截距的标准误差,在残差正态的假设下。
'''

2.5 统计检验

描述
ttest_1samp(a, popmean[, axis, nan_policy, …])计算一组分数的平均值的 T 检验。
ttest_ind(a, b[, axis, equal_var, …])计算两个独立分数样本的平均值的 T 检验。
ttest_ind_from_stats(mean1, std1, nobs1, …)来自描述性统计的两个独立样本的平均值的 T 检验。

2.6 类蒙特卡洛

2.6.1 类蒙特卡洛子模块 ( scipy.stats.qmc)

2.6.1.1 类蒙特卡洛
2.6.1.1.1 Engines
  • scipy.stats.qmc.QMCEngine
  • scipy.stats.qmc.Sobol
  • scipy.stats.qmc.Halton
  • scipy.stats.qmc.LatinHypercube
  • scipy.stats.qmc.MultinomialQMC
  • scipy.stats.qmc.MultivariateNormalQMC
2.6.1.1.2 Helpers
  • scipy.stats.qmc.discrepancy
  • scipy.stats.qmc.update_discrepancy
  • scipy.stats.qmc.scale
2.6.1.2 类蒙特卡洛介绍

2.7 掩码统计函数

2.8 其他统计功能

2.8.1 转换

描述
boxcox(x[, lmbda, alpha, optimizer])返回由 Box-Cox 幂变换变换的数据集。
boxcox_normmax(x[, brack, method, optimizer])计算输入数据的最佳 Box-Cox 变换参数。
boxcox_llf(lmb, data)boxcox 对数似然函数。

2.8.2 统计距离

描述
wasserstein_distance(u_values, v_values[, …])计算两个一维分布之间的第一个 Wasserstein 距离。
energy_distance(u_values, v_values[, …])计算两个一维分布之间的能量距离。

2.8.3 采样

2.8.4 随机变量生成 / CDF 反转

2.8.5 循环统计函数

2.8.6 列联表函数

2.8.7 绘图测试

2.8.8 单变量和多变量核密度估计

2.8.9 scipy.stats 中使用的 Warnings / Errors

3 特殊函数(scipy.special)

以下几乎所有函数都是通用函数,并且遵循广播和自动数组循环规则。

3.1 错误处理

3.2 可用功能

3.2.1 Airy 函数

描述
airy(z)Airy 函数及其衍生工具。
airye(z)指数缩放的 Airy 函数及其导数。

3.2.2 椭圆函数和积分

描述
ellipj(u, m)雅可比椭圆函数

3.2.3 贝塞尔函数

描述
jv(v, z)第一类实阶复数参数的贝塞尔函数。
3.2.3.1 贝塞尔函数的零点
3.2.3.2 常见贝塞尔函数的更快版本
3.2.3.3 贝塞尔函数的积分
3.2.3.4 贝塞尔函数的导数
3.2.3.5 球面贝塞尔函数
3.2.3.6 Riccati-Bessel 函数

3.2.4 斯特鲁维函数

描述
struve(v, x)斯特鲁维函数。

3.2.5 原始统计函数

描述
bdtr(k, n, p)二项分布累积分布函数。

3.2.6 信息论函数

描述
entr(x)用于计算熵的元素函数。

3.2.7 Gamma 及其相关函数

描述
gamma(z)伽马函数。
3.2.7.1 scipy.special.gamma

伽马函数。
在这里插入图片描述
伽马函数常被称为广义阶乘。因为对于自然数 n,在这里插入图片描述
更一般地,对于复数 z,它满足递归关系
在这里插入图片描述

from scipy.special import gamma

gamma(z)
'''参数
z: array_like
	实数或复数。
'''

'''返回
scalar or ndarray
	伽马函数的值。
'''

3.2.8 误差函数和菲涅耳积分

3.2.9 勒让德函数

3.2.10 椭球谐波

3.2.11 正交多项式

3.2.12 超几何函数

3.2.13 抛物柱面函数

3.2.14 Mathieu 及其相关函数

3.2.15 球面波函数

3.2.16 开尔文函数

3.2.17 组合

描述
comb(N, k[, exact, repetition])从 N 个事物中一次取 k 个的组合数。
perm(N, k[, exact])从 N 个事物中一次取 k 个的排列数。

3.2.18 Lambert W 及其相关函数

3.2.19 其他特殊函数

3.2.20 方便使用函数

描述
cbrt(x)x的元素立方根。
exp10(x)10**x按元素计算。
exp2(x)2**x按元素计算。

3.1 scipy.special.gamma

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淘淘图兔兔呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值