Skip to main content
 首页 » 编程设计

python之有选择地否定数组中的元素

2025年05月04日16zhujiabin

我正在寻找有关 numpy 中“如何有选择地否定数组的值”的帮助。

已经尝试过,numpy.where() 和 numpy.negative 但无法在选定的几个上实现条件。

import numpy as np 
 
arr=np.arange(11) 
arr 

array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10]) 

假设我只想取反数组中 2 到 8 之间的所有元素

array([ 0,  1,  2,  -3,  -4,  -5,  -6,  -7,  8,  9, 10]) 

请您参考如下方法:

使用按位与创建掩码,并乘以-1:

m = (arr > 2) & (arr < 8) 
arr[m] *= -1 

array([ 0,  1,  2, -3, -4, -5, -6, -7,  8,  9, 10])