如何在python中获取数组中一批元素的索引?

问题描述

是否可以在截取矩阵时获取截取区域的元素所在区域的索引? 以下示例:

  array = [
    [[],[],[]],[[],]
  arrayIndex = getIndex(array[:2,:2])

因此,getIndex函数应返回array[:2,:2]每个元素索引,结果如下所示

  arrayIndex = [
    [[0,0],[0,1]],[[1,[1,1]]
  ]

解决方法

我想我可能会有一个想法(如果我正确理解您的话)。 如果要知道子元素中所有条目的主元素索引,则必须将array,array[:2,:2]都赋予getIndex函数,并让其找到相应的索引。

以下是您想要的吗?

import numpy as np

def getIndex(a,a_sub):
    indices = []
    for row in a_sub:
        for entry in row:
            index = np.array(np.where( entry == a))[:,0]
            indices.append(list(index))

    return (indices)

array = np.random.random(size=(5,5))


arrayIndex = getIndex(array,:2])
print(arrayIndex)

arrayIndex = getIndex(array,array[3:4,1:2])
print(arrayIndex)

屈服

[[0,0],[0,1],[1,1]]

[[3,1]]

免责声明 一旦您的矩阵元素不再唯一,此解决方案很可能会引起问题。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...