当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.randint用法及代码示例


本文简要介绍 python 语言中 scipy.stats.randint 的用法。

用法:

scipy.stats.randint = <scipy.stats._discrete_distns.randint_gen object>#

一个均匀的离散随机变量。

作为 rv_discrete 类的实例,randint 对象从它继承了一组通用方法(完整列表见下文),并用特定于此特定发行版的详细信息来完成它们。

注意

randint 的概率质量函数为:

为了\(k \in \{\texttt{low}, \dots, \texttt{high} - 1\}\) .

randint 作为形状参数。

上面的概率质量函数以“standardized” 形式定义。要转移分布,请使用 loc 参数。具体来说,randint.pmf(k, low, high, loc) 等同于 randint.pmf(k - loc, low, high)

例子

>>> import numpy as np
>>> from scipy.stats import randint
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1)

计算前四个时刻:

>>> low, high = 7, 31
>>> mean, var, skew, kurt = randint.stats(low, high, moments='mvsk')

显示概率质量函数(pmf):

>>> x = np.arange(low - 5, high + 5)
>>> ax.plot(x, randint.pmf(x, low, high), 'bo', ms=8, label='randint pmf')
>>> ax.vlines(x, 0, randint.pmf(x, low, high), colors='b', lw=5, alpha=0.5)

或者,可以调用分布对象(作为函数)来固定形状和位置。这将返回一个 “frozen” RV 对象,其中固定给定参数。

冻结分布并显示冻结的 pmf

>>> rv = randint(low, high)
>>> ax.vlines(x, 0, rv.pmf(x), colors='k', linestyles='-',
...           lw=1, label='frozen pmf')
>>> ax.legend(loc='lower center')
>>> plt.show()
scipy-stats-randint-1_00_00.png

检查累积分布函数 ( cdf ) 与其反函数、百分点函数 ( ppf ) 之间的关系:

>>> q = np.arange(low, high)
>>> p = randint.cdf(q, low, high)
>>> np.allclose(q, randint.ppf(p, low, high))
True

生成随机数:

>>> r = randint.rvs(low, high, size=1000)

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.randint。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。