NumPy - 舍入函数
NumPy 舍入函数
NumPy 中的舍入函数用于将数组中的值四舍五入到指定的小数位数。这些函数在各种场景中都很有用,例如当您需要以更清晰的格式呈现值,或者在执行需要精度控制的数值计算时。
NumPy 提供了几个舍入函数,包括 round()、floor()、ceil() 和 trunc(),每个函数在舍入值时都有不同的用途。
使用 round() 函数进行舍入
numpy.round() 函数将输入数组中的每个元素四舍五入到指定的小数位数。如果没有提供小数位数,则四舍五入为最接近的整数。
round(x, decimals) = 将值四舍五入为小数位数
示例:四舍五入值
在以下示例中,我们使用 NumPy 的 round() 函数将数组中的值四舍五入为小数点后 2 位 -
import numpy as np # 定义一个值数组 values = np.array([3.14159, 2.71828, 1.61803, 0.57721]) # 将每个元素四舍五入为小数点后 2 位 rounded_values = np.round(values, 2) print("四舍五入后的值:", rounded_values)
上述代码的结果为 −
四舍五入后的值:[3.14 2.72 1.62 0.58]
使用 floor() 函数进行向下取整
numpy.floor() 函数将输入数组中的每个元素向下舍入为小于或等于该元素的最接近整数。此函数始终向下舍入,无论小数部分如何。
floor(x) = 小于或等于 x 的最大整数
示例:向下取整值
在以下示例中,我们使用 NumPy 的 floor() 函数对数组中的值进行向下取整 -
import numpy as np # 定义一个值数组 values = np.array([3.14159, 2.71828, 1.61803, 0.57721]) # 将每个元素向下舍入到最接近的整数 floored_values = np.floor(values) print("向下取整值:", floored_values)
以下是获得的输出 −
向下取整值:[3. 2. 1. 0.]
使用 ceil() 函数进行向上取整
numpy.ceil() 函数将输入数组中的每个元素向上舍入为大于或等于该元素的最接近的整数。此函数始终向上舍入,无论小数部分如何。
ceil(x) = 大于或等于 x 的最小整数
示例:取上限值
在以下示例中,我们使用 NumPy 的 ceil() 函数对数组中的值进行向上舍入 -
import numpy as np # 定义一个值数组 values = np.array([3.14159, 2.71828, 1.61803, 0.57721]) # 将每个元素向上舍入到最接近的整数 ceiled_values = np.ceil(values) print("上限值:", ceiled_values)
这将产生以下结果 -
上限值:[4. 3. 2. 1.]
使用 trunc() 函数截断
numpy.trunc() 函数通过删除小数部分来截断输入数组中的每个元素。它本质上是将值向零舍入,保留整数部分。
trunc(x) = x 的整数部分,删除小数部分
示例:截断值
在以下示例中,我们使用 NumPy 的 trunc() 函数截断一个值数组 -
import numpy as np # 定义一个值数组 values = np.array([3.14159, 2.71828, 1.61803, 0.57721]) # 截断每个元素 truncated_values = np.trunc(values) print("截断的值:", truncated_values)
以下是上述代码的输出 -
截断的值:[3. 2. 1. 0.]
四舍五入到特定倍数
numpy.around() 函数用于将数组中的元素四舍五入到最接近的指定倍数。这与标准舍入不同,因为它允许自定义舍入基数。
around(x, decimals, out) = 四舍五入到最接近的小数倍数
示例:四舍五入到倍数
在以下示例中,我们使用 NumPy 的 around() 函数将数组中的值四舍五入到最接近的 0.5 的倍数 -
import numpy as np # 定义一个值数组 values = np.array([3.14159, 2.71828, 1.61803, 0.57721]) # 将每个元素四舍五入到最接近的 0.5 的倍数 rounded_multiple_values = np.around(values * 2) / 2 print("四舍五入到最接近的 0.5 的倍数:", rounded_multiple_values)
输出结果如下 -
四舍五入到最接近的 0.5 的倍数:[3. 2.5 1.5 0.5]