如何获取numpy array前N个最大值


Posted in Python onMay 14, 2021

主要应用了argsort()函数,函数原型:

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个数 或 最小的N个数

import numpy as np
a = np.array([1,4,3,5,2])
b = np.argsort(a)
print(b)

print结果[0 4 2 1 3]

说明a[0]最小,a[3]最大

a[0]<a[4]<a[2]<a[1]<a[3]

补充:利用Python获取数组或列表中最大的N个数及其索引

看代码吧~

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()就行了

结果:

re1:[87, 65, 43]

re2:[6, 2, 0]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
python日志记录模块实例及改进
Feb 12 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
python使用RNN实现文本分类
May 24 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
怎么用Python识别手势数字
Jun 07 Python
使用pandas模块实现数据的标准化操作
pandas 实现将NaN转换为None
May 14 #Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
Python爬虫:从m3u8文件里提取小视频的正确操作
MATLAB 全景图切割及盒图显示的实现步骤
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 #Python
PyQt5爬取12306车票信息程序的实现
You might like
Phpbean路由转发的php代码
2008/01/10 PHP
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
php遍历删除整个目录及文件的方法
2015/03/13 PHP
php短信接口代码
2016/05/13 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
地球一小时倡议书
2014/04/15 职场文书
赡养老人协议书
2014/04/21 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
招标授权委托书样本
2014/09/23 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
四年级学生期末评语
2014/12/26 职场文书
大学生求职自荐信
2015/03/24 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android