Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
07 Июл 2023
1 мин
1923

Подсчет количества определенного элемента в ndarray

В процессе работы с numpy библиотекой в Python, часто возникает необходимость подсчитать количество определенных элементов в массиве. Например, имеется

В процессе работы с numpy библиотекой в Python, часто возникает необходимость подсчитать количество определенных элементов в массиве. Например, имеется массив, содержащий некоторые элементы:

import numpy as np
arr = np.array([2, 3, 2, 2, 5, 3, 2, 4, 5, 2, 5, 5, 5])

И задача состоит в том, чтобы подсчитать количество вхождений элемента 2 в данный массив.

Попытка использовать метод count приводит к ошибке, поскольку данный метод отсутствует в классе numpy.ndarray:

arr.count(2)

Ошибка:

AttributeError: 'numpy.ndarray' object has no attribute 'count'

Вместо этого, можно использовать функцию numpy.count_nonzero(), которая подсчитывает количество ненулевых элементов в массиве. Для подсчета количества определенного элемента в массиве, можно сначала преобразовать массив в булевый, где True обозначает места, где находится интересующий нас элемент, а False — все остальные. Затем применить numpy.count_nonzero() к получившемуся массиву.

Пример подсчета количества элементов 2 в массиве arr:

import numpy as np
arr = np.array([2, 3, 2, 2, 5, 3, 2, 4, 5, 2, 5, 5, 5])

# Преобразование массива в булев
bool_arr = (arr == 2)

# Подсчет количества искомых элементов
count = np.count_nonzero(bool_arr)
print(count)  # Выводит: 5

Таким образом, с помощью функции numpy.count_nonzero() можно подсчитать количество определенных элементов в массиве типа ndarray.

Добавить комментарий

Подарок
Забрать подарок