В этой статье исследуется эффективный метод расчета частоты появления уникальных значений в массиве 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