css - Numpy:按索引对矩阵的元素进行排序
问题描述
我需要对一个由数组定义的矩阵进行排序
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]])
通过索引列表 as 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-cycle 和numpy.extract(我认为这不正确),但我确信存在最简单的方法。
解决方案
创建您想要的排列permutation
,然后使用:
e = example[:, permutation][permutation,:]
例如在你的情况下:
permutation = [1, 3, 0, 2, 4]
推荐阅读
- php - 用于异步发送队列电子邮件的 CURL 太快,重复发送
- gravity-forms-plugin - 如何使用 wordpress 重力形式的 curl 使用 Bearer 令牌授权垂直响应
- java - HttpSession Junit 测试
- mysql - 尝试从 MySql 中的相关表中更新列
- api - 查询参数在 GraphQL 中传播
- javascript - angularjs中div的多选和单选
- string - sed 替换一个字符串
- windows - 识别给定的计算机域(如果他们有 Skype for Business 应用程序)
- excel - 如何让变量与循环函数excel一起移动?
- python - 如何使用python修复特定查询以使用分页