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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python numpy 选取数组前几位的值和下标相关的知识,希望对你有一定的参考价值。

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

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

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

numpy 多维数组的存取

  多维数组的存取和一维数组类似,由于多维数组有多个轴,所以他的下标需要多个值来表示。这里讨论的主要是二维数组。二维数组0轴以行为单位,1轴以列为单位,存取数组使用元组作为下标,需要注意的是,python中的元组通常用圆括号括起来,但是其实元组的语法只需要用逗号隔开就可以。因此a[1,2]等价a[(1,2)].如果下标元组只包含整数的切片,那么得到的数组和原始数组共享数据,改变得到的数组就会改变原始数组的数据。

>>> x
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])
>>> x[1,:] = 0
>>> x
array([[ 0,  1,  2,  3,  4,  5],
       [ 0,  0,  0,  0,  0,  0],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])

数组的下标是元组,所以可以将元组保留下来。例如取出下标为(1,2),(2,4,(3,4)的元素

>>> x
array([[10,  1,  2,  3,  4,  5],
       [ 0,  0,  0,  0,  0,  0],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])
>>> x[(1,2,3),(2,4,4)]
array([ 0, 16, 22])

其中x[(1,2,3),(2,4,4)]得到的元素是x[1,2],x[2,4],x[3,4]

 

以上是关于Python numpy 选取数组前几位的值和下标的主要内容,如果未能解决你的问题,请参考以下文章

numpy 数组 怎么保存几位小数

C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

如何查询数据库中排名前几位的数据

Python NumPy 学习记录读取txt字符串并和数组进行转换

python如何挑选矩阵中的不相领的列组成新的矩阵