Разбиение на корзины в NumPy
Узнать номер интервала для каждого элемента позволяет
функция np.digitize.
Она принимает ряд значений и упорядоченные
границы, а возвращает для каждой
ячейки индекс корзины, а не сводку
по всему массиву.
В отличие от гистограммы здесь получается столько же чисел, сколько во входном ряду: по одному номеру интервала на элемент.
Пример с тремя границами:
import numpy as np
values = np.array([1.2, 3.5, 4.1])
bins = np.array([1, 3, 4])
labels = np.digitize(values, bins)
print(labels) # выведет [1 2 3]
Для ряда data [0.5, 2.5, 4.5]
и границ [1, 3, 5] получите
номера интервалов и выведите их.
Для значений [2, 4, 6]
и границ [1, 3, 5, 7]
постройте ряд индексов корзин
и выведите его.