我有一个数组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
你到目前为止尝试过什么? –