around

around(x, decimals=0, out=None)

Evenly round to the given number of decimals.

Parameters:
x : ndarray or scalar

Input data.

decimals : int, optional

Number of decimal places to round to (default: 0). If decimals is negative, it specifies the number of positions to the left of the decimal point.

out : ndarray, optional

Alternative output array in which to place the result. It must have the same shape and type as the expected output.

Returns:
rounded_array : ndarray or scalar

An array of the same type as x, containing the rounded values. A reference to the result is returned.

Notes

For values exactly halfway between rounded decimal values, NumPy rounds to the nearest even value. Thus 1.5 and 2.5 round to 2.0, -0.5 and 0.5 round to 0.0, etc.

This function differs from the original numpy.prod in the following aspects:

  • Cannot cast type automatically. Dtype of out must be same as the expected one.
  • Cannot support complex-valued number.

Examples

>>> np.around([0.37, 1.64])
array([ 0.,  2.])
>>> np.around([0.37, 1.64], decimals=1)
array([ 0.4,  1.6])
>>> np.around([.5, 1.5, 2.5, 3.5, 4.5]) # rounds to nearest even value
array([ 0.,  2.,  2.,  4.,  4.])
>>> np.around([1, 2, 3, 11], decimals=1) # ndarray of ints is returned
array([ 1,  2,  3, 11])
>>> np.around([1, 2, 3, 11], decimals=-1)
array([ 0,  0,  0, 10])