如何獲取numpy array前N個最大值
更新時間:2021年05月14日 11:41:27 作者:upDiff
這篇文章主要介紹了獲取numpy array前N個最大值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
主要應用了argsort()函數(shù),函數(shù)原型:
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]
補充: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]
補充:利用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]
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django中reverse反轉(zhuǎn)并且傳遞參數(shù)的方法
今天小編就為大家分享一篇Django中reverse反轉(zhuǎn)并且傳遞參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
如何利用opencv訓練自己的模型實現(xiàn)特定物體的識別
在Python中通過OpenCV自己訓練分類器進行特定物體實時識別,下面這篇文章主要給大家介紹了關(guān)于如何利用opencv訓練自己的模型實現(xiàn)特定物體的識別,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10
Python時區(qū)設(shè)置方法與pytz查詢時區(qū)教程
這篇文章主要介紹了Python時區(qū)設(shè)置的方法和pytz查詢時區(qū)的方法,大家參考使用吧2013-11-11

