我有一个numpy.ndarray X.我想找到X中X>阈值的所有位置,然后X =阈值。
这样做的最便宜的方式(就时间复杂性而言)是什么?我需要运行这个程序数百万次。谢谢!
答案 0 :(得分:0)
据我所知,您可以使用numpy索引来替换大于某个阈值的所有元素。
虽然,我不确定这是最快的方式。
threshold = 10 # for example
some_array[some_array > threshold] = threshold
答案 1 :(得分:0)
尝试numpy.where:
from numpy import where
Y = where( X> treshold, threshold,X)
where以及ufunc-way中的if语句 where(condition,if True,else)