我有这个python代码:
for i, num in enumerate(num_arr):
if num > threshold:
num_arr[i] = threshold
'num_arr'是一个用整数填充的简单数组,'阈值'可能从10到100,000不等。有没有更快的方法来实现相同的结果?按位运算或类似的东西?
您可以使用. clip(…)
[numpy-文档]。例如:
num_arr = num_arr.clip(max=threshold)
例如:
>>> a
array([14, 25, 7, 12, 2])
>>> a.clip(max=10)
array([10, 10, 7, 10, 2])