我正在尝试使用最初在 MATLAB 中的 numpy 重写一个函数。MATLAB中有一个逻辑索引部分如下:
X = reshape(1:16, 4, 4).';
idx = [true, false, false, true];
X(idx, idx)
ans =
1 4
13 16
当我尝试在 numpy 中创建它时,我无法获得正确的索引:
X = np.arange(1, 17).reshape(4, 4)
idx = [True, False, False, True]
X[idx, idx]
# Output: array([6, 1, 1, 6])
通过逻辑索引从矩阵中获取网格的正确方法是什么?