Python Numpy数组降序排序表(移动整列)
如何制作此numpy阵列:Python Numpy数组降序排序表(移动整列),python,arrays,sorting,numpy,Python,Arrays,Sorting,Numpy,如何制作此numpy阵列: [[ 0. 1. 2.] [ 192. 312. 98.]] 按以下分类: [[ 1. 0. 2.] # Moves entire column instead of just the value in the second row [ 312. 192. 98.]] # Highest to lowest 谢谢。在第二行使用argsort,然后使用输出索引对列重新排序: a[:, a[1].argsort()[::
[[ 0. 1. 2.]
[ 192. 312. 98.]]
按以下分类:
[[ 1. 0. 2.] # Moves entire column instead of just the value in the second row
[ 312. 192. 98.]] # Highest to lowest
谢谢。在第二行使用
argsort
,然后使用输出索引对列重新排序:
a[:, a[1].argsort()[::-1]]
#array([[ 1., 0., 2.],
# [ 312., 192., 98.]])
在第二行上使用
argsort
,然后使用输出索引对列重新排序:
a[:, a[1].argsort()[::-1]]
#array([[ 1., 0., 2.],
# [ 312., 192., 98.]])
我有个问题。当您使用[:,[1,0,2]]时,[1,0,2]会帮助您订购第二行。但是我不明白为什么第一行会根据第二行的顺序而改变…@Mr_U4913,因为您正在使用
:
对第一个维度进行切片,所以顺序适用于所有行。不管是第一排还是第二排。哇,谢谢。没有比这更好的答案了!为我运行Python 3.5.3和numpy 1.13.0工作。我有个问题。当您使用[:,[1,0,2]]时,[1,0,2]会帮助您订购第二行。但是我不明白为什么第一行会根据第二行的顺序而改变…@Mr_U4913,因为您正在使用:
对第一个维度进行切片,所以顺序适用于所有行。不管是第一排还是第二排。哇,谢谢。没有比这更好的答案了!为我运行Python 3.5.3和numpy 1.13.0工作。