Python Numpy矩阵模指数提取
假设我有一个二维矩阵,比如Python Numpy矩阵模指数提取,python,numpy,Python,Numpy,假设我有一个二维矩阵,比如 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 这将导致索引器。列索引%2=0表示索引为偶数整数。 您
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
这将导致索引器。列
索引%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)
给出行数)。A[1,np.arange(A.shape[1])%2==0]=0
?对np.mat的[]]索引要格外小心。首先看A[1]
。A[1,::2]=0
?