濮阳杆衣贸易有限公司

主頁 > 知識庫 > 如何獲取numpy array前N個(gè)最大值

如何獲取numpy array前N個(gè)最大值

熱門標(biāo)簽:白銀外呼系統(tǒng) 廣告地圖標(biāo)注app 陜西金融外呼系統(tǒng) 海南400電話如何申請 激戰(zhàn)2地圖標(biāo)注 公司電話機(jī)器人 騰訊外呼線路 唐山智能外呼系統(tǒng)一般多少錢 哈爾濱ai外呼系統(tǒng)定制

主要應(yīng)用了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]

補(bǔ)充:python topN / topK 取 最大的N個(gè)數(shù) 或 最小的N個(gè)數(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個(gè)數(shù)及其索引

看代碼吧~

import heapq
 
a=[43,5,65,4,5,8,87]
re1 = heapq.nlargest(3, a) #求最大的三個(gè)元素,并排序
re2 = map(a.index, heapq.nlargest(3, a)) #求最大的三個(gè)索引    nsmallest與nlargest相反,求最小
print(re1)
print(list(re2)) #因?yàn)閞e2由map()生成的不是list,直接print不出來,添加list()就行了

結(jié)果:

re1:[87, 65, 43]

re2:[6, 2, 0]

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python 實(shí)現(xiàn)Numpy中找出array中最大值所對應(yīng)的行和列
  • numpy找出array中的最大值,最小值實(shí)例
  • python如何獲得list或numpy數(shù)組中最大元素對應(yīng)的索引
  • python中找出numpy array數(shù)組的最值及其索引方法

標(biāo)簽:四川 黑龍江 益陽 常德 惠州 上海 黔西 鷹潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何獲取numpy array前N個(gè)最大值》,本文關(guān)鍵詞  如何,獲取,numpy,array,前,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何獲取numpy array前N個(gè)最大值》相關(guān)的同類信息!
  • 本頁收集關(guān)于如何獲取numpy array前N個(gè)最大值的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    西贡区| 酒泉市| 金湖县| 十堰市| 绥棱县| 曲周县| 蒙自县| 京山县| 虎林市| 博湖县| 岳阳市| 开鲁县| 玉门市| 宣城市| 渝中区| 婺源县| 南漳县| 台东县| 深水埗区| 开封市| 中牟县| 夹江县| 年辖:市辖区| 台东县| 苏州市| 铜陵市| 和龙市| 铁岭县| 治多县| 邵阳县| 镇赉县| 葫芦岛市| 都兰县| 潜山县| 运城市| 百色市| 朝阳县| 武功县| 天津市| 高邮市| 团风县|