Mendapatkan indeks nilai maksimum dalam tatasusunan NumPy adalah mungkin dengan fungsi np.argmax. Walau bagaimanapun, untuk mendapatkan semula indeks berbilang nilai maksimum, artikel ini meneroka pendekatan alternatif.
Versi NumPy Terkini (1.8 dan seterusnya) menampilkan fungsi argpartition, yang boleh mendapatkan semula indeks mengikut keadaan tertentu. Untuk mendapatkan indeks bagi n elemen terbesar, gunakan fungsi ini dengan argumen negatif untuk n, menunjukkan isihan menurun.
>>> a = np.array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0]) # Sample array >>> ind = np.argpartition(a, -4)[-4:] # Indices of top 4 largest elements
Tidak seperti argsort, argpartition beroperasi secara linear dalam kes yang paling teruk, tetapi ia tidak kembali indeks yang disusun. Untuk mengisihnya, gunakan np.argsort pada tatasusunan terbahagi:
>>> sorted_ind = ind[np.argsort(a[ind])]
Sebagai alternatif, manfaatkan keupayaan pengindeksan lanjutan NumPy:
>>> descending_order = np.argsort(a)[::-1] # Indices of elements in descending order >>> top_n = descending_order[:n] # Top n indices
Penyelesaian tersuai juga wujud, seperti:
Atas ialah kandungan terperinci Bagaimana untuk Mencari Indeks Nilai N Terbesar Teratas dengan Cekap dalam Tatasusunan NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!