美文网首页
Python numpy 选取数组前几位的值和下标

Python numpy 选取数组前几位的值和下标

作者: 王叽叽的小心情 | 来源:发表于2022-05-27 09:58 被阅读0次

针对一维的numpy的ndarray数组,获取前N位的具体的数值(value),


import numpy as np
arr = np.array([1,3,4,5,8,10, 2,3,4,6])
arr
Out[11]: array([ 1,  3,  4,  5,  8, 10,  2,  3,  4,  6])
arr.sort()
arr
Out[13]: array([ 1,  2,  3,  3,  4,  4,  5,  6,  8, 10])
arr[-5:]
Out[14]: array([ 4,  5,  6,  8, 10])

针对一维的numpy的ndarray数组,获取前N位所在的下标(index),


import numpy as np
arr = np.array([1,3,4,5,8,10, 2,3,4,6])
arr
Out[17]: array([ 1,  3,  4,  5,  8, 10,  2,  3,  4,  6])
np.argsort(arr)[-5:][::-1]
Out[18]: array([5, 4, 9, 3, 8], dtype=int64)


一个是原地sort,一个是np.argsort()获取下标。如果是多维数组,可以先采用arr.flatten()转换为一维的数组。

相关文章

网友评论

      本文标题:Python numpy 选取数组前几位的值和下标

      本文链接:https://www.haomeiwen.com/subject/rrdyprtx.html