主页 > 知识库 > numpy 实现返回指定行的指定元素的位置索引

numpy 实现返回指定行的指定元素的位置索引

热门标签:荆州云电销机器人供应商 辽宁400电话办理多少钱 温州旅游地图标注 悟空智电销机器人6 外呼不封号系统 帮人做地图标注收费算诈骗吗 苏州电销机器人十大排行榜 江苏房产电销机器人厂家 电信营业厅400电话申请

先上代码,主要语句为np.where(b[c]==1),

详细解释如下:

import numpy as np 
b = np.array([[-2,-3,0,0,0,6,4,1],[88,1,0,0,0,6,4,2],[99,6,0,0,1,6,4,2]]) # 三行八列的数组b
print('b\n',b)
 
c = np.array([2,0])     # c表示指定行
print('b[c]\n',b[c])    # b[c]返回 数组b的指定行  这里依次返回了b的下标为2和0的行
 
print('\n')
print(np.where(b[c]==1)) # 返回指定行的指定元素的位置索引 这里返回了b[c]每行中 值为1的位置索引

观察np.where()的返回值(array([0, 1], dtype=int64), array([4, 7], dtype=int64))可以发现,

对于数组b[c]来说,其中值为1的位置在[0,4]以及[1,7]上,np.where()返回了一个元组,[0]的位置表示行索引,[1]表示列索引。

综上,np.where(b[c]==1)实现的功能是,从b中按c中元素的顺序找到c所指定的行,然后再这些行中发现值为1的位置。

补充:短小精悍算例:Python如何提取数组Numpy array中指定元素的位置索引

数组a的表达式如下:

import numpy as np
a = np.array([1, 2, 3, 2, 2, 3, 0, 8, 3])
print(a)

输出结果:

[1 2 3 2 2 3 0 8 3]

现在要找出a中元素3的位置索引。

r1 = np.where(a==3)
print(type(r1))
print(r1)

输出结果:

class 'tuple'>

(array([2, 5, 8], dtype=int64),)

可见得到的是一个tuple。

如果要想得到array,采用如下表示:

r1 = np.where(a==3)
print(type(r1[0]))
print(r1[0])

输出结果:

class 'numpy.ndarray'>

[2 5 8]

还可以使用argwhere()函数进行操作:

r2 = np.argwhere(a==3)
print(type(r2))
print(r2)
print(r2.shape)

输出结果:

class 'numpy.ndarray'>

[[2]

[5]

[8]]

(3, 1)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • python如何获得list或numpy数组中最大元素对应的索引
  • 浅谈python已知元素,获取元素索引(numpy,pandas)
  • numpy:找到指定元素的索引示例
  • 如何获取numpy的第一个非0元素索引

标签:钦州 喀什 台湾 宿迁 景德镇 黄山 三沙 济南

巨人网络通讯声明:本文标题《numpy 实现返回指定行的指定元素的位置索引》,本文关键词  numpy,实现,返回,指定,行的,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《numpy 实现返回指定行的指定元素的位置索引》相关的同类信息!
  • 本页收集关于numpy 实现返回指定行的指定元素的位置索引的相关信息资讯供网民参考!
  • 推荐文章