numpy.around¶
-
numpy.
around
(a, decimals=0, out=None)[source]¶ 均匀到给定的小数位数。
参数: a:array_like
输入数据。
小数:int,可选
舍入的小数位数(默认值:0)。如果小数是负数,它指定小数点左边的位置数。
out:ndarray,可选
用于放置结果的替代输出数组。它必须具有与预期输出相同的形状,但如果必要,将输出输出值的类型。有关详细信息,请参见
doc.ufuncs
(“输出参数”部分)。返回: rounded_array:ndarray
与a类型相同的数组,包含四舍五入值。除非指定了out,否则将创建一个新的数组。将返回对结果的引用。
复数的实部和虚部分别进行四舍五入。舍入浮点的结果是浮点数。
笔记
对于精确到十进制值之间一半的值,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])