在我正在研究的内容中,我有两个numpy矩阵,都是相同大小的,为了简单起见,用0和1填充(但假设它可以用任何数字填充)。我想知道的是一种从这两个矩阵中提取1的位置的方法,1在两个矩阵中的位置相同
例如,如果我有以下两个矩阵和值
a = np.array([[0, 0, 0, 1, 0, 1],
[1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1],
[1, 0 ,1, 1, 1, 0],
[0, 0, 1, 0, 0, 0]])
b = np.array([[0, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 0, 0],
[0, 1, 0, 1, 0, 1],
[0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 0]])
value = 1
然后,我想通过某种方式获得两个矩阵中存在值“1”的所有位置的信息,即:
result = [(0,5),(1,1),(2,3),(4,2)]
我想这个结果可以看作是一个交集,但在我的例子中,位置很重要,这就是为什么我认为np.intersect1d()不会有多大帮助的原因。在我正在使用的实际矩阵中,它们大约是10000乘10000,所以这个列表可能要长得多
提前感谢您的帮助
您可以使用numpy.argwhere:
输出
相关问题 更多 >
编程相关推荐