«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как подсчитать вхождения в ndarray в Python?

Как подсчитать вхождения в ndarray в Python?

Опубликовано 8 ноября 2024 г.
Просматривать:542

How to Count Occurrences in an ndarray in Python?

Подсчет вхождений в ndarray

В numpy можно столкнуться с ошибкой «Объект numpy.ndarray не имеет счетчика атрибутов» при попытке используйте метод .count() для подсчета появления определенного значения в массиве.

Использование numpy.unique

Решением этой проблемы является использование numpy.unique (). Эта функция идентифицирует уникальные значения в массиве и предоставляет соответствующие значения. Например, чтобы подсчитать количество нулей и единиц в массиве y ниже:

import numpy

y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

unique, counts = numpy.unique(y, return_counts=True)

Переменные unique и counts теперь будут содержать уникальные значения и их количество соответственно.

Метод, отличный от numpy

Альтернативный метод, не требующий numpy, — использование класса Collections.Counter. Этот класс создает словарь, который сопоставляет элементы с их счетчиками. Например, чтобы подсчитать появление элементов в y, используя Counter:

import collections, numpy

y = np.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])

counter = collections.Counter(y)

Переменная счетчика теперь будет предоставлять количество каждого уникального элемента в y.

Заявление о выпуске Эта статья перепечатана по адресу: 1729432037. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3