numpy.around(a,decimals=0,out=None)[source]¶Evenly round to the given number of decimals.
| Parameters: |
|
|---|---|
| Returns: |
|
Notes
For values exactly halfway between rounded decimal values, NumPyrounds 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. Results may also be surprising dueto the inexact representation of decimal fractions in the IEEEfloating point standard[1] and errors introduced when scalingby powers of ten.
References
| [1] | (1,2) “Lecture Notes on the Status of IEEE 754”, William Kahan,http://www.cs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF |
| [2] | “How Futile are Mindless Assessments ofRoundoff in Floating-Point Computation?”, William Kahan,http://www.cs.berkeley.edu/~wkahan/Mindless.pdf |
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 valuearray([ 0., 2., 2., 4., 4.])>>>np.around([1,2,3,11],decimals=1)# ndarray of ints is returnedarray([ 1, 2, 3, 11])>>>np.around([1,2,3,11],decimals=-1)array([ 0, 0, 0, 10])