Mengambil semula Indeks Berbilang Nilai Maksimum dalam Tatasusunan NumPy
Tatasusunan NumPy menyediakan fungsi np.argmax untuk mencari indeks unsur maksimum . Walau bagaimanapun, jika anda memerlukan indeks nilai maksimum N, pertimbangkan penyelesaian berikut:
Versi NumPy Terkini:
Untuk NumPy versi 1.8 dan ke atas, fungsi argpartition menawarkan kaedah yang cekap:
import numpy as np a = np.array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0]) # Get top 4 indices n_max = 4 ind = np.argpartition(a, -n_max)[-n_max:] # Retrieve top 4 values top_max = a[ind]
NumPy Lama Versi:
Sebelum NumPy 1.8, anda boleh menggunakan fungsi argsort seperti berikut:
# Get top 4 indices n_max = 4 ind = np.argsort(a)[-n_max:] # Retrieve top 4 values top_max = a[ind]
Isih Indeks:
Secara lalai, argpartition mengembalikan indeks yang tidak diisih. Jika anda memerlukan indeks yang diisih, gunakan:
ind[np.argsort(a[ind])]
Kerumitan Masa:
Atas ialah kandungan terperinci Bagaimana untuk Mencari Indeks Berbilang Nilai Maksimum dalam Tatasusunan NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!