Numpy中numpy.rint和numpy.round的区别

您所在的位置:网站首页 around与round根本区别 Numpy中numpy.rint和numpy.round的区别

Numpy中numpy.rint和numpy.round的区别

2024-07-14 08:26| 来源: 网络整理| 查看: 265

Numpy中numpy.rint和numpy.round的区别

在本文中,我们将介绍Numpy中numpy.rint和numpy.round的区别以及它们在实际应用中的差异。Numpy是Python语言中用于科学计算的一个扩展库,它提供了一个多维数组对象和用于处理数组的各种函数。其中,numpy.rint和numpy.round都是用于对数组进行舍入操作的函数。

阅读更多:Numpy 教程

numpy.rint

numpy.rint是将数组按照特定的精度进行四舍五入运算的函数。该函数的语法为:

numpy.rint(arr, decimals=0)

其中,arr为需要进行舍入运算的数组,decimals为需要保留的小数位数,默认值为0。例如:

import numpy as np arr1 = np.array([2.567, 3.123, 4.987, 5.456]) arr2 = np.array([2.567, 3.123, 4.987, 5.456]) res1 = np.rint(arr1) res2 = np.rint(arr2*10)/10 print(res1) # [3. 3. 5. 5.] print(res2) # [2.6 3.1 5. 5.5]

从上面的例子中可以看出,numpy.rint可以对整数进行四舍五入,也可以控制小数点的位数进行精度控制。

numpy.round

numpy.round同样是将数组进行舍入操作的函数,该函数的语法为:

numpy.round(arr, decimals=0, out=None)

其中,arr为需要进行舍入操作的数组,decimals为需要保留的小数位数,默认值为0,out参数用于指定输出的数组,如果不指定则为新的数组。例如:

import numpy as np arr1 = np.array([2.567, 3.123, 4.987, 5.456]) arr2 = np.array([2.567, 3.123, 4.987, 5.456]) res1 = np.round(arr1) res2 = np.round(arr2, decimals=1) print(res1) # [3. 3. 5. 5.] print(res2) # [2.6 3.1 5. 5.5]

从上面的例子中可以看出,numpy.round与numpy.rint的作用基本相同,同样可以对整数进行四舍五入,也可以控制小数点的位数进行精度控制。

差异

两个函数的基本功能是一致的,但是在一些细节上还是有差别的,如下:

numpy.round函数的默认值为decimals=0,而numpy.rint为decimals=1。如果不指定保留的小数位数,则numpy.rint函数默认保留一位小数,numpy.round函数默认不保留小数。 numpy.round函数与numpy.rint函数在处理小数点后的数字时不同。当保留小数点后一位时,numpy.round函数会四舍五入,而numpy.rint函数则是直接舍去小数点后的数字。例如,当数组元素为2.45时,numpy.round保留小数点后一位为2.5,而numpy.rint则为2.4。 示例

下面我们通过一个例子来说明两个函数效果上的差异:

import numpy as np arr = np.array([2.20, 2.25, 2.55, 2.60, 2.70]) res1 = np.round(arr, decimals=1) res2 = np.rint(arr*10)/10 print(res1) # [2.2 2.2 2.6 2.6 2.7] print(res2) # [2.2 2.3 2.6 2.6 2.7]

从上面的例子中可以看出,当需要保留小数点后一位时,numpy.round函数会进行四舍五入,而numpy.rint函数则是直接舍去小数点后一位的数字。

总结

虽然numpy.rint和numpy.round的基本功能非常相似,但是在一些细节上还是有所不同。理解它们之间的差异有助于我们在实际应用中选择合适的函数完成特定的任务。在使用这两个函数时,需要注意保留小数点后一位时它们的差异,以及默认的保留小数位数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3