NumPy | log1p method
log1p(~) method computes
log(p+1) (natural logarithm) for each value
p in the input array.
The input array.
Numpy array |
Instead of creating a new array, you can place the computed result into the array specified by
Values that are flagged as False will be ignored, that is, their original value will be uninitialized. If you specified the out parameter, the behavior is slightly different - the original value will be kept intact. Since this is a source of confusion for many, check examples below.
A Numpy array that contains the result of
p is each value in the input array.
np.logp([1,2,10])array([0.69314718, 1.09861229, 2.39789527])
Specifying an output array
a = np.zeros(3)np.logp([1,2,10], out=a)aarray([0.69314718, 1.09861229, 2.39789527])
Here, we've output the result into array
Specifying a boolean mask
np.logp([1,2,10], where=[False, True, False])array([6.90875478, 1.09861229, 6.2166061 ])
Here, only the second number was used for calculation since it has a corresponding boolean of
True in the mask. You should notice how the values with
False yielded strange results - in fact, you should disregard them because they are uninitialized numbers that are of no practical use.
Now, if you specified the out parameter, instead of uninitalized values, the original values will be left intact:
a = np.zeros(3)np.logp([1,2,10], out=a, where=[False, True, False])aarray([0. , 1.09861229, 0. ])