Rumah  >  Artikel  >  pembangunan bahagian belakang  >  **Bagaimanakah saya boleh mengira kekerapan nilai unik dalam tatasusunan NumPy dengan cekap?**

**Bagaimanakah saya boleh mengira kekerapan nilai unik dalam tatasusunan NumPy dengan cekap?**

Patricia Arquette
Patricia Arquetteasal
2024-10-25 19:22:02842semak imbas

**How can I efficiently count the frequency of unique values in a NumPy array?**

Mengira Nilai Unik dalam Tatasusunan NumPy

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn