📅  最后修改于: 2023-12-03 15:34:25.194000             🧑  作者: Mango
在 Python 中使用 numpy 可以让数值计算变得更加高效和便捷。其中,numpy.around
方法是一个有用的函数,可以用于近似四舍五入操作。
numpy.around(a, decimals=0, out=None)
该方法接受以下参数:
a
: 需要进行近似处理的数组decimals
: 保留的小数位数,默认为 0out
: 结果保存的输出数组import numpy as np
a = np.array([1.5, 2.79, 3.22, 4.01, 5.55])
print(np.around(a))
# output: [2. 3. 3. 4. 6.]
print(np.around(a, decimals=1))
# output: [1.5 2.8 3.2 4. 5.6]
上述代码中,我们首先导入 numpy
库,定义了一个数组 a
,接着我们使用了 numpy.around
方法进行四舍五入。
第一个示例中,我们直接调用方法进行近似处理,因为 decimals
参数默认为 0,所以函数返回的是四舍五入后的整数。
在第二个示例中,我们设置了 decimals
参数为 1,因此每个元素被约为一位小数。而我们并没有设置 out
参数,所以结果输出到了一个新的数组中。
需要注意的是,numpy.around 方法默认采用的是“银行家舍入”方式。比如对于 0.5 这样的数,会根据前一位数的奇偶性进行四舍五入。如果前一位数是偶数,则向下取整;如果是奇数,则向上取整。不过,如果你使用新版本的 numpy,则默认采用的是“四舍五入”的方式。如果需要使用旧版的面向银行家舍入的方式,你可以设置如下参数:
import numpy as np
np.set_printoptions(precision=4, suppress=True, formatter={'float_kind': '{:0.4f}'.format})
这样就可以在控制台中看到类似于 $1.0050$ 的输出了。