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.15.4/reference/generated/numpy.histogram.html