NumPy | rint method
rint(~) method rounds the input values to the nearest integer.
The input array whose values you want rounded to the nearest integer.
Numpy array |
Instead of creating a new array, you can place the computed result into the array specified by out.
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.rint([1.5, 5.7, 8.2])array([2., 6., 8.])
Specifying an output array
a = np.zeros(3)np.rint([1.5, 5.7, 8.2], out=a)aarray([2., 6., 8.])
Specifying a boolean mask
np.rint([1.5, 5.7, 8.2], where=[False, True, False])array([74.343 , 3.14159265, 3463.2345 ])
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.rint([1.5, 5.7, 8.2], out=a, where=[False, True, False])aarray([0., 6., 0.])