Próbuję przepisać funkcję za pomocą numpy, która jest oryginalnie w MATLAB. Jest to logiczne część indeksujący, który przedstawia się następująco w MATLAB:Uzyskiwanie siatki macierzy poprzez indeksowanie logiczne w Numpy
X = reshape(1:16, 4, 4).';
idx = [true, false, false, true];
X(idx, idx)
ans =
1 4
13 16
Kiedy próbuję to zrobić w numpy, nie mogę uzyskać prawidłowe indeksowanie:
X = np.arange(1, 17).reshape(4, 4)
idx = [True, False, False, True]
X[idx, idx]
# Output: array([6, 1, 1, 6])
Jaki jest właściwy sposób na uzyskanie siatka z macierzy poprzez indeksowanie logiczne?
zawiadomień I że mogę to zrobić za pomocą 'X [idx,:] [:, idx]' ale nie jest to dziwne? – petrichor