numpy.histogram
- numpy.histogram(a, bins=10, range=None, normed=None, weights=None, density=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, количество интервалов заполнит весь диапазон, включая части, не содержащие данных. - normedbool, необязательно
-
Устарело начиная с версии 1.6.0.
Это эквивалентно аргументу
density, но приводит к неверным результатам для неравномерной ширины интервалов. Его не следует использовать.Изменено в версии 1.15.0: Действительно выводится предупреждение об устаревании.
- weightsarray_like, необязательно
-
Массив весов, имеющий такую же форму, как
a. Каждое значение вaвносит свой связанный вес в подсчёт интервалов (вместо 1). Еслиdensityравно True, веса нормализуются, так что интеграл плотности по диапазону остаётся равным 1. - densitybool, необязательно
-
Если
False, результат будет содержать количество выборок в каждом интервале. ЕслиTrue, результат — значение функции плотности вероятности в интервале, нормализованной таким образом, что интеграл по диапазону равен 1. Обратите внимание, что сумма значений гистограммы не будет равна 1, если не выбраны интервалы единичной ширины; это не функция вероятности.Переопределяет ключевое слово
normedпри его указании.
- Возвращает
-
- histмассив
-
Значения гистограммы. См.
densityиweightsдля описания возможных семантик. - bin_edgesмассив типа float
-
Возвращает границы интервалов
(length(hist)+1).
См. также
Примечания
Все интервалы, кроме последнего (правого), являются полуоткрытыми. Другими словами, если
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()
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.histogram.html