python - 使用 NumPy 进行二维排序 - 对 1 行进行排序,让另一行跟随排序

标签 python sorting numpy scipy

假设我有一个 NumPy 数组:

[[4 9 2]
 [5 1 3]]

我想对这个数组的底行进行排序,但让顶行跟随排序,这样我得到:

[[9 2 4]
 [1 3 5]]

我知道您可以使用 sorted() 函数进行排序,但这需要列表的输入和输出。

有什么想法吗?非常感谢!

最佳答案

import numpy as np
a = np.array([[4,9,2],[5,1,3]])
idx = np.argsort(a[1])

现在您可以使用 idx 来索引您的数组:

b=a[:,idx]

关于python - 使用 NumPy 进行二维排序 - 对 1 行进行排序,让另一行跟随排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7900171/

相关文章:

python - 如何修补对象中的属性

python - Seaborn 调色板 - 防止颜色回收

sorting - 使用 sort with key in racket 对功能列表进行排序

python - numpy.array() 中的 dtype 参数

c++ - OpenCV/C++ 程序比它的 numpy 对应程序慢,我该怎么办?

Python - 按行比较两个二维数组

python - Pyaudio 从流式 Python 录制音频

python - 如何查看初始化权重(即训练前)?

java - Java 中可排序的类似 HashMap 的数据结构?

python - 删除文本文件中的非重复行