【发布时间】:2017-07-26 14:41:35
【问题描述】:
拥有像这样的 numpy 数组:
a = np.array([35,2,160,56,120,80,1,1,0,0,1])
我想从数组的第一个元素中减去自定义值(例如 5)。基本上可以这样:a[0] - 5
但是如何将这个结果应用到初始数组并用答案替换第一个值?
谢谢!
【问题讨论】:
拥有像这样的 numpy 数组:
a = np.array([35,2,160,56,120,80,1,1,0,0,1])
我想从数组的第一个元素中减去自定义值(例如 5)。基本上可以这样:a[0] - 5
但是如何将这个结果应用到初始数组并用答案替换第一个值?
谢谢!
【问题讨论】:
你可以使用:
a[0] <b>-=</b> 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])
对于大多数操作(+、-、*、/ 等),有一个“就地”等效项(+=、-=、*=、/= , 等等),它将使用正确的操作数应用该操作并将其存储回来。
请注意,如果要减去 所有 元素,则不应使用 Python for 循环,有更有效的方法。
【讨论】: