我需要对矩阵进行排序,该矩阵由类似数组的
定义example = np.array([[00, 01, 02, 03, 04],
[10, 11, 12, 13, 14],
[20, 21, 22, 23, 24],
[30, 31, 32, 33, 34],
[40, 41, 42, 43, 44]])
通过索引列表(如index = [1, 3]
)获得:
example = np.array([[11, 13, 10, 12, 14],
[31, 33, 30, 32, 34],
[01, 03, 00, 02, 04],
[21, 23, 30, 22, 24],
[41, 43, 40, 42, 44]])
其中第一个高左2x2子矩阵由位置[1,1],[1,3],[3,1]和[3,3]的元素组成。
我使用了for循环和numpy.extract(我认为这是不正确的),但是我确信存在最简单的方法。
答案 0 :(得分:0)
在permutation
中创建所需的排列,然后使用:
e = example[:, permutation][permutation,:]
例如您的情况:
permutation = [1, 3, 0, 2, 4]