您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)怎么獲取numpy array前N個最大值的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
numpy.argsort(a, axis=-1, kind='quicksort', order=None) ''' Returns the indices that would sort an array. Perform an indirect sort along the given axis using the algorithm specified by the kind keyword. It returns an array of indices of the same shape as a that index data along the given axis in sorted order. ''' Parameters: a : array_like Array to sort. axis : int or None, optional Axis along which to sort. The default is -1 (the last axis). If None, the flattened array is used. kind : {‘quicksort', ‘mergesort', ‘heapsort', ‘stable'}, optional Sorting algorithm. order : str or list of str, optional When a is an array with fields defined, this argument specifies which fields to compare first, second, etc. A single field can be specified as a string, and not all fields need be specified, but unspecified fields will still be used, in the order in which they come up in the dtype, to break ties. Returns: index_array : ndarray, int Array of indices that sort a along the specified axis. If a is one-dimensional, a[index_array] yields a sorted a. More generally, np.take_along_axis(a, index_array, axis=a) always yields the sorted a, irrespective of dimensionality.
import numpy as np top_k=3 arr = np.array([1, 3, 2, 4, 5]) top_k_idx=arr.argsort()[::-1][0:top_k] print(top_k_idx) #[4 3 1]
補(bǔ)充:python topN / topK 取 最大的N個數(shù) 或 最小的N個數(shù)
import numpy as np a = np.array([1,4,3,5,2]) b = np.argsort(a) print(b)
print結(jié)果[0 4 2 1 3]
說明a[0]最小,a[3]最大
a[0]<a[4]<a[2]<a[1]<a[3]
補(bǔ)充:利用Python獲取數(shù)組或列表中最大的N個數(shù)及其索引
import heapq a=[43,5,65,4,5,8,87] re1 = heapq.nlargest(3, a) #求最大的三個元素,并排序 re2 = map(a.index, heapq.nlargest(3, a)) #求最大的三個索引 nsmallest與nlargest相反,求最小 print(re1) print(list(re2)) #因為re2由map()生成的不是list,直接print不出來,添加list()就行了
結(jié)果:
re1:[87, 65, 43]
re2:[6, 2, 0]
感謝各位的閱讀!關(guān)于“怎么獲取numpy array前N個最大值”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。