我需要一个很好的快速方法来从numpy数组中找到10个最小的实数值,该值可以具有任意多个nan
和/或inf
值。从numpy数组中获得最小的N值,忽略inf和nan
我需要确定这些最小实数值的索引,而不是数值本身。
我找到了numpy的argmin
和nanargmin
函数。他们并没有真正完成工作,因为我也想指定多个值,比如我想要最小的100个值。并且它们都返回-inf
值,因为它在数组中存在时是最小的值。
heapq.nsmallest
类型的作品,但它也返回nan
和-inf
值作为最小值。也没有给我指数,我正在寻找。
在这里的任何帮助将不胜感激。
迭代/复制数组,将所有nans和-inf转换为inf运行你的函数以获得最小N值,将它们转换回/还原为旧副本?愚蠢的哈克,但嗯... – Patashu 2013-04-24 13:27:39
感谢您的帮助,这是我将不得不做的,如果我不能得到一个更简单的答案。 – 2013-04-24 13:29:53