2017-04-18 99 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