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()-否定而不是反转