首頁  >  文章  >  後端開發  >  如何有效計算 NumPy 數組中的唯一值?

如何有效計算 NumPy 數組中的唯一值?

Linda Hamilton
Linda Hamilton原創
2024-10-26 12:31:02602瀏覽

How to Efficiently Count Unique Values in a NumPy Array?

有效地確定 NumPy 數組中唯一值的頻率計數

本文探討了一種計算 NumPy 數組中唯一值的頻率計數的有效方法。

使用 numpy.unique 和 return_counts=True (對於 NumPy 版本 1.9 及更高版本)可以有效計算唯一值及其對應的計數。例如:

<code class="python">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)</code>

此方法在執行速度方面顯著優於 scipy.stats.itemfreq 函數,如效能基準測試所示:

<code class="python">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</code>

以上是如何有效計算 NumPy 數組中的唯一值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn