对于一个Numpy数组,有的时候我们想选取或者剔除某些符合条件的元素值,却突然发现除了一些特定的函数,如numpy.minimum()等,或者一个嵌套循环之外束手无策。其实这里有一个trick1,可以使代码有效而简洁。
让我们来到一个场景中:我们有一个名为Saliency的灰度图像数组,用来表示一张图片中受关注程度的不同。为了增强可视化效果,我们需要过滤掉数组中数值过小的元素,让其等于0,于是我们可以这么做:
>>> print saliency.shape
(227,227)
>>> idx = saliency < 0.0001 # or some other threshold value
>>> saliency[idx] = 0
# other operations ...
简单