2017-04-18 103 views
0

我有一个数组y_probability它是二维的。它包含一个实例属于每个类的概率。我想创建第一列中从最大到最小排列的y_probabiltiy阵列的索引列表。我怎样才能做到这一点?创建从最大排序到最小排列的索引列表

的样本数据:

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] 
+0

你到目前为止尝试过什么? –

回答

1

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

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

对我来说太快... –

+1

np.argsort(y_probability,axis = 0)[:, 0] [:: - 1]也是相同的结果 – plasmon360

+1

另一个(较慢)选项是'(-y_probablility [:,0]) .argsort()' - 否定而不是反向 – Eric