本文探討了一種計算 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