【发布时间】:2019-06-22 05:28:51
【问题描述】:
我有一个矩阵,我希望能够在不使用循环的情况下用两个数组索引某些元素时更改它们的值
例如
import numpy as np
A = np.array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
b = np.array([0, 1, 2])
c = np.array([2, 3, 1, 1])
如果 b 中的索引 i 等于 c 中的索引 j 则访问 A[i,j]
我试过了
A[b, c] = 1
和
A[b == c] = 1
但我没有得到正确的结果 我相信结果应该是
A = array([[0, 0, 0, 0],
[0, 0, 1, 1],
[1, 0, 0, 0]])
【问题讨论】:
-
你的意思是
np.array不仅仅是array..对吗? -
是的,对不起。我正在使用 numpy
-
您需要遍历
b和c以查看哪些索引相等...我相信这是最直接的方法?? -
我应该指定,但我特意寻找一种没有任何循环的方法
-
没有循环并且形状不同,这应该很有趣。
标签: python arrays numpy matrix indexing