numpy.bincount
- numpy.bincount(x, /, weights=None, minlength=0)
-
Подсчёт числа вхождений каждого значения в массиве неотрицательных целых чисел.
Число бинов (размером 1) на единицу больше наибольшего значения в
x. Еслиminlengthуказано, то в выходном массиве будет по крайней мере столько бинов (хотя он будет длиннее, если это необходимо, в зависимости от содержимогоx). Каждый бин содержит число вхождений соответствующего индексного значения вx. Еслиweightsуказано, то входной массив взвешивается им, т.е. если значениеnнайдено в позицииi, тоout[n] += weight[i]вместоout[n] += 1.- Параметры:
-
- xarray_like, 1 измерение, неотрицательные целые числа
-
Входной массив.
- weightsarray_like, необязательно
-
Веса, массив такой же формы, как
x. - minlengthint, необязательно
-
Минимальное число бинов для выходного массива.
Введено в версии 1.6.0.
- Возвращаемое значение:
-
- outndarray целых чисел
-
Результат бинирования входного массива. Длина
outравнаnp.amax(x)+1.
- Исключения:
-
- ValueError
-
Если входной массив не одномерный, содержит элементы с отрицательными значениями, или если
minlengthотрицательно. - TypeError
-
Если тип входных данных - float или complex.
Примеры
>>> np.bincount(np.arange(5)) array([1, 1, 1, 1, 1]) >>> np.bincount(np.array([0, 1, 1, 3, 2, 1, 7])) array([1, 3, 1, 1, 0, 0, 0, 1])
>>> x = np.array([0, 1, 1, 3, 2, 1, 7, 23]) >>> np.bincount(x).size == np.amax(x)+1 True
Входной массив должен иметь целочисленный тип, в противном случае возникает TypeError:
>>> np.bincount(np.arange(5, dtype=float)) Traceback (most recent call last): ... TypeError: Cannot cast array data from dtype('float64') to dtype('int64') according to the rule 'safe'Возможным применением
bincountявляется выполнение суммирования по переменным частям массива, используя ключевое словоweights.>>> w = np.array([0.3, 0.5, 0.2, 0.7, 1., -0.6]) # weights >>> x = np.array([0, 1, 1, 2, 2, 2]) >>> np.bincount(x, weights=w) array([ 0.3, 0.7, 1.1])
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.bincount.html