【发布时间】:2016-05-26 18:11:03
【问题描述】:
我有一个矩阵,有很多行和 8 列。 每个单元格代表当前行属于 8 个类别中的 1 个类别的概率。 我想只保留每行中的 2 个最高值,其余的设置为 0。
到目前为止,我能想到的唯一方法是分别循环和排序每一行。 例如:
a = np.array([[ 0.2 , 0.1 , 0.02 , 0.01 , 0.031, 0.11 ],
[ 0.5 , 0.1 , 0.02 , 0.01 , 0.031, 0.11 ],
[ 0.2 , 0.1 , 0.22 , 0.15 , 0.031, 0.11 ]])
我想得到:
array([[ 0.2 , 0. , 0. , 0. , 0. , 0.11],
[ 0.5 , 0. , 0. , 0. , 0. , 0.11],
[ 0.2 , 0. , 0.22, 0. , 0. , 0. ]])
谢谢,
【问题讨论】:
标签: python sorting numpy matrix