我有一個數組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]
我有一個數組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]
您可以在第一列使用argsort
(注意在Python索引基於0,因此其結果將是一個小於你期望的),然後用[::-1]
反轉結果,因爲argsort
返回索引,按升序排列數組:
y_probability[:,0].argsort()[::-1]
# array([1, 0, 2, 3])
對我來說太快... –
np.argsort(y_probability,axis = 0)[:, 0] [:: - 1]也是相同的結果 – plasmon360
另一個(較慢)選項是'(-y_probablility [:,0]) .argsort()' - 否定而不是反向 – Eric
你到目前爲止嘗試過什麼? –