假设我有一个非常大的numpy
数组a
,我想将数值1添加到数组的每个元素。从我到目前为止所读到的内容:
a += 1
是一种很好的方式,而不是:
a = a + 1
因为在第二种情况下,在不同的内存插槽中创建了一个新数组a
,而在第一种情况下,旧数组在同一内存插槽中被有效替换。
假设我想要执行以下操作:
a = 1-a
执行上述操作的内存有效方法是什么?
答案 0 :(得分:6)
numpy.subtract(1, a, out=a)
直接使用subtract
ufunc可以提供比-
运算符更多的控制权。在这里,我们使用out
参数将减法结果放回a
。
答案 1 :(得分:3)
你可以这样做:
a *= -1
a += 1