РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
220 of 541 menu

Функция histogram2d

Функция histogram2d вычисляет двумерную гистограмму для двух наборов данных. Первым параметром передаётся массив значений по оси X, вторым - массив значений по оси Y. Третьим параметром можно задать количество бинов (целое число или кортеж из двух чисел), четвёртым - границы бинов в виде кортежа из двух массивов или диапазонов. Функция возвращает кортеж из трёх элементов: двумерный массив гистограммы, массив границ по оси X и массив границ по оси Y.

Синтаксис

np.histogram2d(x, y, bins=10, range=None)

Пример

Построим простую двумерную гистограмму для случайных точек:

import numpy as np rng = np.random.default_rng(0) x = rng.normal(0, 1, 1000) y = rng.normal(0, 1, 1000) hist, x_edges, y_edges = np.histogram2d(x, y, bins=5) print(hist)

Результат выполнения кода:

[[ 1. 2. 1. 0. 0.] [ 5. 17. 38. 16. 4.] [ 5. 54. 94. 53. 6.] [ 0. 20. 34. 12. 3.] [ 0. 1. 6. 3. 1.]]

Пример

Укажем разное количество бинов по осям X и Y:

import numpy as np rng = np.random.default_rng(1) x = rng.uniform(0, 10, 500) y = rng.uniform(0, 5, 500) hist, x_edges, y_edges = np.histogram2d(x, y, bins=(3, 2)) print(hist)

Результат выполнения кода:

[[ 58. 83.] [ 86. 87.] [ 91. 95.]]

Пример

Зададим явные границы бинов для обеих осей:

import numpy as np x = np.array([1, 2, 3, 4, 5]) y = np.array([1, 3, 2, 4, 5]) hist, x_edges, y_edges = np.histogram2d( x, y, bins=3, range=[[0, 6], [0, 6]] ) print(hist) print("x_edges:", x_edges) print("y_edges:", y_edges)

Результат выполнения кода:

[[1. 0. 0.] [1. 1. 1.] [0. 0. 1.]] x_edges: [0. 2. 4. 6.] y_edges: [0. 2. 4. 6.]

Пример

Используем веса для взвешенной гистограммы:

import numpy as np rng = np.random.default_rng(2) x = rng.uniform(0, 10, 100) y = rng.uniform(0, 10, 100) weights = rng.uniform(0.5, 1.5, 100) hist, x_edges, y_edges = np.histogram2d( x, y, bins=4, weights=weights ) print(np.round(hist, 2))

Результат выполнения кода:

[[6.23 5.41 6.56 7.7 ] [6.47 5.52 6.4 6.47] [5.03 6.45 5.98 5.19] [6.04 6.51 6.45 6.78]]

Смотрите также

  • функцию histogram,
    которая строит одномерную гистограмму
  • функцию histogramdd,
    которая строит многомерную гистограмму
  • функцию bincount,
    которая подсчитывает количество вхождений каждого значения
  • функцию digitize,
    которая возвращает индексы бинов для каждого значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить