В NumPy bincount и гистограмма тесно связаны: оба дают частотное представление данных, но работают немного по-разному.
1. np.bincount
- Принимает массив целых неотрицательных чисел
- Возвращает массив, где каждый индекс соответствует числу, а значение — сколько раз оно встречается
Пример:
import numpy as np
data = np.array([0, 1, 1, 2, 2, 2])
freq = np.bincount(data)
print(freq) # [1 2 3]– индекс 0 → значение 0 встречается 1 раз
– индекс 1 → значение 1 встречается 2 раза
– индекс 2 → значение 2 встречается 3 раза
2. Гистограмма (np.histogram)
- Может работать с целыми и непрерывными данными
- Разбивает диапазон значений на бины
- Считает количество элементов в каждом интервале
Пример:
hist, bins = np.histogram(data, bins=3, range=(0,3))
print(hist) # [1 2 3]
print(bins) # [0. 1. 2. 3.]– Если данные — целые и бины соответствуют целым, результат hist совпадает с bincount
Связь:
bincountможно считать частным случаем гистограммы для целых чисел- Гистограмма более общая: работает с дробными числами и произвольными диапазонами
Итого:
bincount— удобен для дискретных целых данныхnp.histogram— для любых числовых данных, с возможностью выбора интервалов- Частотный массив, который даёт
bincount, фактически является гистограммой с бинами, выровненными по целым числам
Коротко:
bincount строит частотный массив для целых чисел, что эквивалентно гистограмме с бинами, центрированными на этих числах.