Spec-Zone.ru › NumPy 2.0

numpy.histogram

numpy.histogram(a, bins=10, range=None, density=None, weights=None)[source]

Вычисление гистограммы набора данных.

Параметры:
aarray_like

Входные данные. Гистограмма вычисляется по сглаженному массиву.

binsint или последовательность скаляров или str, необязательно

Если bins — целое число, оно определяет число равномерных по ширине интервалов (по умолчанию 10). Если bins — последовательность, она определяет монотонно возрастающий массив границ интервалов, включая правую границу, что позволяет использовать неравномерную ширину интервалов.

Добавлена в версии 1.11.0.

Если bins — строка, она определяет метод, используемый для вычисления оптимальной ширины интервала, как определено в histogram_bin_edges.

range(float, float), необязательно

Диапазон значений интервалов. Если не указан, диапазон — просто (a.min(), a.max()). Значения вне диапазона игнорируются. Первый элемент диапазона должен быть меньше или равен второму. range также влияет на автоматическое вычисление интервалов. Хотя ширина интервала вычисляется как оптимальная на основе фактических данных внутри range, количество интервалов будет заполнять весь диапазон, включая части, не содержащие данных.

weightsarray_like, необязательно

Массив весов, имеющий такую же форму, как a. Каждое значение в a вносит свой связанный вес в подсчёт интервалов (вместо 1). Если density равно True, веса нормализуются, так что интеграл плотности по диапазону остаётся равным 1. Обратите внимание, что dtype weights также станет dtype возвращаемого аккумулятора (hist), поэтому он должен быть достаточно большим для хранения накопленных значений.

densitybool, необязательно

Если False, результат будет содержать количество выборок в каждом интервале. Если True, результат представляет собой значение функции плотности вероятности в интервале, нормализованное так, что интеграл по диапазону равен 1. Обратите внимание, что сумма значений гистограммы не будет равна 1, если не выбраны интервалы единичной ширины; это не функция массы вероятности.

Возвращает:
histмассив

Значения гистограммы. См. density и weights для описания возможных семантик. Если weights заданы, hist.dtype будут взяты из weights.

bin_edgesмассив типа float

Возвращает границы интервалов (length(hist)+1).

См. также

histogramdd, bincount, searchsorted, digitize, histogram_bin_edges

Примечания

Все интервалы, кроме последнего (правого), являются полуоткрытыми. Другими словами, если bins:

[1, 2, 3, 4]

то первый интервал — [1, 2) (включая 1, но не включая 2), а второй — [2, 3). Однако последний интервал — [3, 4], который включает 4.

Примеры

>>> np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]))
>>> np.histogram(np.arange(4), bins=np.arange(5), density=True)
(array([0.25, 0.25, 0.25, 0.25]), array([0, 1, 2, 3, 4]))
>>> np.histogram([[1, 2, 1], [1, 0, 1]], bins=[0,1,2,3])
(array([1, 4, 1]), array([0, 1, 2, 3]))
>>> a = np.arange(5)
>>> hist, bin_edges = np.histogram(a, density=True)
>>> hist
array([0.5, 0. , 0.5, 0. , 0. , 0.5, 0. , 0.5, 0. , 0.5])
>>> hist.sum()
2.4999999999999996
>>> np.sum(hist * np.diff(bin_edges))
1.0

Добавлена в версии 1.11.0.

Пример автоматического выбора интервалов, используя случайные данные с 2 пиками и 2000 точками.

import matplotlib.pyplot as plt
import numpy as np

rng = np.random.RandomState(10)  # deterministic random data
a = np.hstack((rng.normal(size=1000),
               rng.normal(loc=5, scale=2, size=1000)))
plt.hist(a, bins='auto')  # arguments are passed to np.histogram
plt.title("Histogram with 'auto' bins")
plt.show()
../../_images/numpy-histogram-1.png

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.histogram.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API