Python 创建从最大到最小排序的数组索引列表

Python 创建从最大到最小排序的数组索引列表,python,arrays,numpy,Python,Arrays,Numpy,我有一个二维数组。它包含实例属于每个类的概率。我想创建一个y_probability数组的索引列表,在第一列从最大到最小排序。我该怎么做 样本数据: y_probability = np.array([[0.3,0.7],[0.5,0.5] ,[0.2,0.8], [0.1,0.9]]) 期望输出: index = [2,1,3,4] 您可以在第一列上使用argsort(注意python中的索引是基于0的,因此结果将比您预期的少一个),然后使用[:-1]反转结果,因为argsort返回按升序

我有一个二维数组。它包含实例属于每个类的概率。我想创建一个
y_probability
数组的索引列表,在第一列从最大到最小排序。我该怎么做

样本数据:

y_probability = np.array([[0.3,0.7],[0.5,0.5] ,[0.2,0.8], [0.1,0.9]])
期望输出:

index = [2,1,3,4]

您可以在第一列上使用
argsort
(注意python中的索引是基于0的,因此结果将比您预期的少一个),然后使用
[:-1]
反转结果,因为
argsort
返回按升序排序数组的索引:

y_probability[:,0].argsort()[::-1]
# array([1, 0, 2, 3])

您可以在第一列上使用
argsort
(注意python中的索引是基于0的,因此结果将比您预期的少一个),然后使用
[:-1]
反转结果,因为
argsort
返回按升序排序数组的索引:

y_probability[:,0].argsort()[::-1]
# array([1, 0, 2, 3])
np.argsort(y_概率,axis=0)[:,0][:-1]同样的结果其他(较慢)选项是
(-y_概率[:,0])。argsort()
-否定而不是反转np.argsort(y_概率,axis=0)[:,0][:-1]同样的结果其他(较慢)选项是
(-y_])概率[:,0.argsort()-否定而不是反转