原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.around.html
校对:(虚位以待)
numpy.
around
(a, decimals=0, out=None)[source]均匀到给定的小数位数。
参数: | a:array_like
小数:int,可选
out:ndarray,可选
|
---|---|
返回: | rounded_array:ndarray
|
笔记
对于精确到十进制值之间一半的值,Numpy舍入到最接近的偶数值。因此1.5和2.5圆到2.0,-0.5和0.5圆到0.0,等等。结果也可能是令人惊讶的,因为在IEEE浮点标准[R9]中的十进制小数的不精确表示以及当以十的幂定标时引入的误差。
参考文献
[R9] | (1,2)“关于IEEE 754状态的演讲”,William Kahan,http://www.cs .berkeley.edu /〜wkahan / ieee754status / IEEE 754.PDF |
[R10] | “How unile are Mindless Assessments of Roundoff in Floating-Point Computation?”,William Kahan,http://www.cs.berkeley.edu/~wkahan/Mindless.pdf |
例子
>>> 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])