为了账号安全,请及时绑定邮箱和手机立即绑定

查找条件选择 Python numpy 的索引

查找条件选择 Python numpy 的索引

慕莱坞森 2021-07-30 17:39:36
我有一个数字从 0 到 2 的 numpy 数组:myArray = np.random.randint(3, size=(255,255,1)).astype('uint8')现在我想要所有值为 0 的索引。例如 (220,15)这样我就可以做 myArray[220][15]和检索0。
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

请注意,您的数组具有三个维度,即使第三个维度只能0作为其索引,因此您的索引将具有三个值。

您可以使用 numpy 的 n 维枚举器遍历数组,获取值为 0 的索引列表。

zero_indices = [index for index, value in np.ndenumerate(myArray) if value == 0]

编辑:Slam 的回答应该快很多。


查看完整回答
反对 回复 2021-08-03
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

你需要np.where没有元素,zip`em 是你喜欢的格式:


>>> indices = np.where(myArray == 0)

>>> element_wise = zip(*indices)

>>> next(element_wise)

(0, 3, 0)


查看完整回答
反对 回复 2021-08-03
  • 2 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号