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

Как эффективно подсчитывать уникальные значения в массиве NumPy?

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

How to Efficiently Count Unique Values in a NumPy Array?

Эффективное определение частоты появления уникальных значений в массивах NumPy

В этой статье исследуется эффективный метод расчета частоты появления уникальных значений в массиве NumPy.

Использование numpy.unique с return_counts=True (для NumPy версии 1.9 и выше) позволяет эффективно вычислять как уникальные значения, так и соответствующие им значения. Для иллюстрации:

import numpy as np

x = np.array([1,1,1,2,2,2,5,25,1,1])
unique, counts = np.unique(x, return_counts=True)

print(np.asarray((unique, counts)).T)

Этот подход значительно превосходит функцию scipy.stats.itemfreq с точки зрения скорости выполнения, как показано в тестах производительности:

In [4]: x = np.random.random_integers(0,100,1e6)

In [5]: %timeit unique, counts = np.unique(x, return_counts=True)
10 loops, best of 3: 31.5 ms per loop

In [6]: %timeit scipy.stats.itemfreq(x)
10 loops, best of 3: 170 ms per loop
Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3