numpy.bincount
-
numpy.bincount(x, weights=None, minlength=None) -
Подсчёт числа вхождений каждого значения в массиве неотрицательных целых чисел.
Число бинов (размера 1) на единицу больше наибольшего значения в
x. Еслиminlengthуказано, в выходном массиве будет, по крайней мере, такое число бинов (хотя оно будет длиннее, если это необходимо, в зависимости от содержимогоx). Каждый бин содержит число вхождений соответствующего индексного значения вx. Еслиweightsуказано, массив входных данных взвешивается им, т.е. если значениеnнайдено в позицииi,out[n] += weight[i]вместоout[n] += 1.Параметры: x : массив_подобный, 1-мерный, неотрицательные целые
Вводной массив.
weights : массив_подобный, необязательно
Веса, массив такой же формы, как
x.minlength : целое число, необязательно
Минимальное число бинов для выходного массива.
Введено в версии 1.6.0.
Возвращает: out : массив ndarray целых чисел
Результат бинирования входного массива. Длина
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
Входной массив должен быть типа integer, иначе генерируется TypeError:
>>> np.bincount(np.arange(5, dtype=np.float)) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: array cannot be safely cast to required type
Возможный вариант использования
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])
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.bincount.html