Reputation: 705
Suppose I have a very large numpy
array a
, and I want to add the numerical value 1 to each element of the array. From what I have read so far:
a += 1
is a good way of doing it rather than:
a = a + 1
since in the second case a new array a
is created in a different memory slot, while in the first case the old array is effectively replaced in the same memory slot.
Suppose I want to do the following instead:
a = 1-a
What would be the memory efficient way of doing the above?
Upvotes: 2
Views: 45
Reputation: 280973
numpy.subtract(1, a, out=a)
Using the subtract
ufunc directly gives you more control than the -
operator. Here, we use the out
parameter to place the results of the subtraction back into a
.
Upvotes: 6