scipy.stats.

cumfreq#

scipy.stats.cumfreq(a, numbins=10, defaultreallimits=None, веса=None)[источник]#

Вернуть кумулятивную гистограмму частот, используя функцию гистограммы.

Кумулятивная гистограмма — это отображение, которое подсчитывает кумулятивное количество наблюдений во всех бинах до указанного бина.

Параметры:
aarray_like

Входной массив.

numbinsint, необязательный

Количество бинов для использования в гистограмме. По умолчанию 10.

defaultreallimitsкортеж (нижняя, верхняя), опционально

Нижнее и верхнее значения для диапазона гистограммы. Если значение не задано, диапазон будет немного больше диапазона значений в a используется. В частности (a.min() - s, a.max() + s), где s = (1/2)(a.max() - a.min()) / (numbins - 1).

весаarray_like, необязательный

Веса для каждого значения в a. По умолчанию None, что даёт каждому значению вес 1.0

Возвращает:
cumcountndarray

Бинированные значения кумулятивной частоты.

lowerlimitfloat

Нижний реальный предел

размер бинаfloat

Ширина каждого бина.

дополнительные точки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()
../../_images/scipy-stats-cumfreq-1.png