Spec-Zone.ru › NumPy 1.16

numpy.histogram

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

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

Параметры:
a : array_like

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

bins : int or sequence of scalars or str, optional

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

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

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

range : (float, float), optional

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

normed : bool, optional

Устарело начиная с версии 1.6.0.

Это эквивалентно аргументу density, но дает неверные результаты для бинов с неравной шириной. Не следует использовать.

Изменено в версии 1.15.0: На самом деле генерируются предупреждения об устаревании.

weights : array_like, optional

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

density : bool, optional

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

Переопределяет ключевое слово normed, если задано.

Возвращает:
hist : array

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

bin_edges : array of dtype 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
>>> 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.histogram.html

Spec-Zone.ru

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