pet*_*hor 6 python matlab numpy matrix-indexing
我正在尝试使用最初在MATLAB中的numpy重写函数.在MATLAB中有一个逻辑索引部分如下:
X = reshape(1:16, 4, 4).';
idx = [true, false, false, true];
X(idx, idx)
ans =
1 4
13 16
Run Code Online (Sandbox Code Playgroud)
当我尝试使它成为numpy时,我无法获得正确的索引:
X = np.arange(1, 17).reshape(4, 4)
idx = [True, False, False, True]
X[idx, idx]
# Output: array([6, 1, 1, 6])
Run Code Online (Sandbox Code Playgroud)
通过逻辑索引从矩阵中获取网格的正确方法是什么?
你也可以这样写:
>>> X[np.ix_(idx,idx)]
array([[ 1, 4],
[13, 16]])
Run Code Online (Sandbox Code Playgroud)