Spec-Zone.ru › NumPy 1.19

numpy.histogram

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

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

Параметры
aarray_like

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

binsint 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, количество интервалов будет заполнять весь диапазон, включая участки, не содержащие данных.

normedbool, optional

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

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

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

weightsarray_like, optional

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

densitybool, optional

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

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

Возвращает
histarray

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

bin_edgesarray 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")
Text(0.5, 1.0, "Histogram with 'auto' bins")
>>> plt.show()
../../_images/numpy-histogram-1.png

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

Spec-Zone.ru

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