小编Kri*_*wan的帖子

根据对角线条目对矩阵进行排序

首先,我想指出我的问题与这个问题不同:Sort a numpy matrix based on its对角线

\n\n

问题如下:\n假设我有一个 numpy 矩阵

\n\n
A=\n\n5 7 8\n\n7 2 9\n\n8 9 3\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想根据矩阵的对角线对矩阵进行排序,然后根据它重新排列矩阵元素。这样现在

\n\n
sorted_A:\n\n2 9 7\n\n9 3 8\n\n7 8 5\n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:

\n\n

(1). 对角线已排序

\n\n

(2)。其他元素(非对角线)由它重新调整。怎么办?\n因为 diag(A)= [5,2,3] & diag(sorted_A)=[2,3,5] \n所以行/列索引 A=[0,1,2] 变为 [1,2, 0]在sorted_A中。

\n\n

到目前为止,我使用蛮力提取对角线元素,获取索引 O(N\xc2\xb2),然后重新排列矩阵(另一个 O(N\xc2\xb2))。我想知道是否有任何有效/优雅的方法来做到这一点。我感谢我能得到的所有帮助。

\n

python sorting numpy matrix python-3.x

5
推荐指数
1
解决办法
6147
查看次数

标签 统计

matrix ×1

numpy ×1

python ×1

python-3.x ×1

sorting ×1