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