NumPy | trunc method
trunc(~) method removes the decimals of each value in the input array. See examples below for clarification.
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 is a scalar, then a scalar is returned. Otherwise, a Numpy array is returned.
np.trunc([-3.2, -1.7, 1.5, 5.7])array([-3., -1., 1., 5.])
Specifying an output array
a = np.zeros(3)np.trunc([-3.2, -1.7, 1.5], out=a)aarray([-3., -1., 1.])
Specifying a boolean mask
np.trunc([-3.2, -1.7, 1.5], where=[False, True, False])array([3454., -1., 1867.])
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.trunc([-3.2, -1.7, 1.5], out=a, where=[False, True, False])aarray([ 0., -1., 0.])