有这样的numpy数组:
a = np.array([35,2,160,56,120,80,1,1,0,0,1])
我想从数组的第一个元素中减去自定义值(例如,5)。基本上可以这样做:a[0] - 5
但是如何将此结果应用于初始数组并将第一个值替换为答案?
谢谢!
答案 0 :(得分:2)
您可以使用:
a[0] -= 5 # use -=
这会将a
变为:
>>> a = np.array([35,2,160,56,120,80,1,1,0,0,1])
>>> a[0] -= 5
>>> a
array([ 30, 2, 160, 56, 120, 80, 1, 1, 0, 0, 1])
对于大多数操作(+
,-
,*
,/
等),有一个" inplace"等效(+=
,-=
,*=
,/=
等),它将使用正确的操作数应用该操作并将其存回。
请注意,如果你想减去所有元素,你不应该使用Python for
循环,有更有效的方法。