Rumah >pembangunan bahagian belakang >Tutorial Python >**Bagaimanakah saya boleh mengira kekerapan nilai unik dalam tatasusunan NumPy dengan cekap?**
Tugas biasa dalam analisis data ialah menentukan kekerapan kejadian bagi setiap nilai unik dalam set data tertentu. NumPy menyediakan beberapa cara yang cekap untuk mencapai ini bagi tatasusunan data berangka.
Satu pendekatan ialah menggunakan fungsi np.unique dengan parameter return_counts ditetapkan kepada True (tersedia dalam NumPy versi 1.9 dan lebih baru). Parameter ini bukan sahaja mengembalikan nilai unik tetapi juga kiraan sepadannya.
<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) ''' Output: [[ 1 5] [ 2 3] [ 5 1] [25 1]] '''</code>
Kaedah ini mengatasi scipy.stats.itemfreq dari segi kecekapan, seperti yang ditunjukkan oleh perbandingan masa berikut:
<code class="python">import numpy as np import scipy.stats x = np.random.random_integers(0,100,1e6) %timeit unique, counts = np.unique(x, return_counts=True) 10 loops, best of 3: 31.5 ms per loop %timeit scipy.stats.itemfreq(x) 10 loops, best of 3: 170 ms per loop</code>
Atas ialah kandungan terperinci **Bagaimanakah saya boleh mengira kekerapan nilai unik dalam tatasusunan NumPy dengan cekap?**. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!