Mendapatkan Kiraan Kekerapan untuk Nilai Unik dalam Tatasusunan NumPy
Untuk menentukan kekerapan setiap nilai unik dalam tatasusunan NumPy dengan cekap, pertimbangkan untuk menggunakan Fungsi unik NumPy bersempena dengan return_counts=True.
<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)</code>
Pendekatan ini menghasilkan tuple yang mengandungi dua tatasusunan: unik, yang memegang nilai unik yang terdapat dalam tatasusunan asal, dan kiraan, yang menunjukkan frekuensi masing-masing bagi kejadian untuk setiap nilai unik.
Sebagai contoh, melaksanakan kod di atas dengan tatasusunan input yang diberikan mengembalikan:
[(1, 5), (2, 3), (5, 1), (25, 1)]
menunjukkan bahawa nilai 1 muncul 5 kali, 2 muncul 3 kali, 5 muncul sekali, dan 25 muncul sekali.
Menggunakan unique(return_counts=True) menawarkan kelebihan prestasi yang besar berbanding fungsi scipy.stats.itemfreq SciPy untuk set data yang besar, seperti yang ditunjukkan dalam coretan kod di bawah:
<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>
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!