python如何得到排序之前的矩阵下标

python如何得到排序之前的矩阵下标

作者:Elara发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何在Python中追踪排序后的元素原始索引?

我在使用Python对矩阵进行排序时,怎样才能知道排序后元素在原矩阵中的位置?

A

利用argsort函数获取元素原始索引

可以使用NumPy库中的argsort函数,它会返回排序元素的原始索引位置。通过对矩阵进行argsort操作,可以获得排序前元素所在的下标,从而实现追踪。

Q
Python中对矩阵排序后,如何保存原始行列信息?

对二维矩阵进行排序后,如果想保持对每个元素原始行列位置的信息,应怎样操作?

A

结合索引矩阵与排序操作保存位置信息

可以同时生成一个与矩阵形状相同的索引矩阵,记录每个元素的行列号。排序矩阵时,将索引矩阵一起排序,这样对应位置的索引即为该元素在原矩阵中的位置。

Q
有没有简洁的方法在Python中获取排序前矩阵元素的下标?

是否存在简便的方法或函数,在矩阵经过排序后快速得到原始元素所在位置的下标?

A

运用NumPy的unravel_index结合argsort实现

对矩阵执行argsort获取扁平排序索引后,结合NumPy的unravel_index函数可以将一维索引转换回多维矩阵的下标,实现快速获取排序前元素的位置。