假设我有一个二维矩阵A
A = np.mat([[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
如何将列索引模2的行1中的所有元素更改为0?即,我想获得
np.mat([[1,2,3,4],
[0,6,0,8],
[9,10,11,12]])
我尝试过
A[1][np.arange(len(A))%2==0] = 0
这会导致IndexError。
答案 0 :(得分:0)
列index % 2 = 0
表示索引是偶数整数。
您可以将偶数列索引处第一行的元素更改为0,如下所示:
A[1, ::2] = 0 # 2 is the step
如果您要以A[1][np.arange(len(A))%2==0] = 0
(不正确)的方式进行操作,则应将其更改为
A[1, np.arange(A.shape[1]) % 2 == 0] = 0
其中A.shape[1]
是列数(而len(A)
是行数)。