我想在 Python 3 中根据第一列的元素对 2D 数组的行进行排序。例如,如果
x = array([[ 5. , 9. , 2. , 6. ],
[ 7. , 12. , 3.5, 8. ],
[ 2. , 6. , 7. , 9. ]])
然后我需要排序后的数组
x = array([[ 2. , 6. , 7. , 9. ],
[ 5. , 9. , 2. , 6. ],
[ 7. , 12. , 3.5, 8. ]])
我怎样才能做到这一点?提出并回答了类似的问题here ,但它对我不起作用。
最佳答案
以下内容应该有效:
import numpy as np
x = np.array([[ 5. , 9. , 2. , 6. ],
[ 7. , 12. , 3.5, 8. ],
[ 2. , 6. , 7. , 9. ]])
x[x[:, 0].argsort()]
Out[2]:
array([[ 2. , 6. , 7. , 9. ],
[ 5. , 9. , 2. , 6. ],
[ 7. , 12. , 3.5, 8. ]])
关于python - 根据第一列对二维数组的行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57434721/