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()