【发布时间】:2019-04-03 10:37:32
【问题描述】:
我希望将 最接近 的 numpy 数组中的 n 个元素的符号更改为某个值,但不能更少。也就是说,元素必须等于或大于该值。是否有任何快速的 Numpy 方法可以有效地处理大型数组?
我现在拥有的代码采用 n 个更高或相等但不最接近的值,这是“好的”,但不适合我的结果。
def update(arr, n, value):
updated = 0
i = 0
while updated < n:
if arr[i] >= value: # just a random value above "value"
arr[i] = -arr[i]
updated +=1
i += 1
arr = np.array([9, 8, 2, -4, 3, 4])
n = 3
value = 2
update(arr, n, value)
给我
arr = np.array([-9, -8, -2, -4, 3, 4])
当我想要的时候
arr = np.array([9, 8, -2, -4, -3, -4])
【问题讨论】: