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


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


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

用法:

scipy.stats.relfreq(a, numbins=10, defaultreallimits=None, weights=None)#

使用 histogram 函数返回相对频率直方图。

相对频率直方图是每个 bin 中的观察数量相对于观察总数的映射。

参数

a array_like

输入数组。

numbins 整数,可选

用于直方图的 bin 数量。默认值为 10。

defaultreallimits 元组(下,上),可选

直方图范围的下限值和上限值。如果没有给出值,则使用比 a 中的值范围稍大的范围。特别是 (a.min() - s, a.max() + s) ,其中 s = (1/2)(a.max() - a.min()) / (numbins - 1)

weights 数组,可选

a中每个值的权重。默认为无,它为每个值赋予 1.0 的权重

返回

frequency ndarray

相对频率的分箱值。

lowerlimit 浮点数

实际下限。

binsize 浮点数

每个 bin 的宽度。

extrapoints int

加分。

例子

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> a = np.array([2, 4, 1, 2, 3, 2])
>>> res = stats.relfreq(a, numbins=4)
>>> res.frequency
array([ 0.16666667, 0.5       , 0.16666667,  0.16666667])
>>> np.sum(res.frequency)  # relative frequencies should add up to 1
1.0

创建具有 1000 个随机值的正态分布

>>> samples = stats.norm.rvs(size=1000, random_state=rng)

计算相对频率

>>> res = stats.relfreq(samples, numbins=25)

计算 x 的值空间

>>> x = res.lowerlimit + np.linspace(0, res.binsize*res.frequency.size,
...                                  res.frequency.size)

绘制相对频率直方图

>>> fig = plt.figure(figsize=(5, 4))
>>> ax = fig.add_subplot(1, 1, 1)
>>> ax.bar(x, res.frequency, width=res.binsize)
>>> ax.set_title('Relative frequency histogram')
>>> ax.set_xlim([x.min(), x.max()])
>>> plt.show()
scipy-stats-relfreq-1.png

相关用法


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