當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy stats.cumfreq用法及代碼示例


本文簡要介紹 python 語言中 scipy.stats.cumfreq 的用法。

用法:

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

使用 histogram 函數返回累積頻率直方圖。

累積直方圖是一種映射,它計算所有 bin 中的累積觀測數,直到指定 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 的權重

返回

cumcount ndarray

累積頻率的分箱值。

lowerlimit 浮點數

實際下限

binsize 浮點數

每個 bin 的寬度。

extrapoints int

加分。

例子

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> x = [1, 4, 2, 1, 3, 1]
>>> res = stats.cumfreq(x, numbins=4, defaultreallimits=(1.5, 5))
>>> res.cumcount
array([ 1.,  2.,  3.,  3.])
>>> res.extrapoints
3

創建具有 1000 個隨機值的正態分布

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

計算累積頻率

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

計算 x 的值空間

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

繪製直方圖和累積直方圖

>>> fig = plt.figure(figsize=(10, 4))
>>> ax1 = fig.add_subplot(1, 2, 1)
>>> ax2 = fig.add_subplot(1, 2, 2)
>>> ax1.hist(samples, bins=25)
>>> ax1.set_title('Histogram')
>>> ax2.bar(x, res.cumcount, width=res.binsize)
>>> ax2.set_title('Cumulative histogram')
>>> ax2.set_xlim([x.min(), x.max()])
>>> plt.show()
scipy-stats-cumfreq-1.png

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.cumfreq。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。