如何使用 NumPy 将数组元素四舍五入到指定的小数位数?
Numpy 库中的 round() 函数用于将数组元素四舍五入到指定的小数位数。Numpy 是一个 Python 库,用于执行数学运算、操作和创建数组等。在本文中,我们将使用 round() 函数将数组元素四舍五入到指定的小数位数。
方法 1:使用 round() 函数
round() 函数的语法
numpy.round(arr,decimals=0, out=None)
其中,arr 是需要四舍五入的输入数组,decimal 是数组元素需要四舍五入的小数位数。默认情况下,小数部分为 0。Out 是对原始数组元素进行四舍五入后生成的输出数组。
示例 1:对单个数组元素进行四舍五入
在下面的示例中,我们创建了一个包含单个元素的数组 arr,然后使用 round() 函数将数组元素四舍五入到小数点后 2 位。然后打印四舍五入后的数组元素。
import numpy as np # 创建数组 arr = np.array([3.14159]) # 将数组元素四舍五入到小数点后 2 位 rounded_arr = np.round(arr, decimals=2) # 打印四舍五入后的数组元素 print(rounded_arr)
输出
[3.14]
示例:对多个数组元素进行四舍五入
在下面的示例中,我们创建了一个包含多个元素的数组 arr,然后使用 round() 函数将数组元素四舍五入到小数点后 1 位。然后打印四舍五入后的数组元素。
import numpy as np # 创建数组 arr = np.array([1.234, 2.345, 3.456, 4.567]) # 将数组元素四舍五入到小数点后 1 位 rounded_arr = np.round(arr, decimals=1) # 打印四舍五入后的数组元素 print(rounded_arr)
输出
[1.2 2.3 3.5 4.6]
示例 3:四舍五入到最接近的整数
在下面的示例中,我们创建了一个包含多个元素的数组 arr,然后使用 round() 函数将数组元素四舍五入到最接近的整数。然后打印四舍五入后的数组元素。
import numpy as np # 创建数组 arr = np.array([1.234, 2.345, 3.456, 4.567]) # 定义精度 precision = 0.001 # 计算达到所需精度所需的乘数 multiplier = 1 / precision # 将数组元素四舍五入为最接近的整数 rounded_arr = np.round(arr * multiplier) / multiplier # 打印四舍五入后的数组元素 print(rounded_arr)
输出
1.234 2.345 3.456 4.567]
示例 4:舍入到指定精度
在下面的示例中,我们首先将所需精度定义为变量精度。然后,我们通过将 1 除以该精度来计算达到所需精度所需的乘数。我们将数组元素乘以该乘数,然后进行舍入,最后再除以该乘数,即可得到达到所需精度的舍入值。
import numpy as np # 创建数组 arr = np.array([1.234, 2.345, 3.456, 4.567]) # 定义精度 precision = 0.001 # 计算达到所需精度所需的乘数 multiplier = 1 / precision # 将数组元素舍入为最接近的整数 rounded_arr = np.round(arr * multiplier) / multiplier # 打印舍入后的数组元素 print(rounded_arr)
输出
[1.234 2.345 3.456 4.567]
方法 2:使用 numpy.floor() 方法
numpy.floor 方法返回不大于输入元素的最大整数。当应用于数组时,它会将每个元素向下舍入到最接近的整数或小数位,并趋近于负无穷。
语法
numpy.floor(arr, decimals)
其中,arr 是输入数组,decimals (可选)是要舍入到的小数位数。默认值为 0。
示例
在下面的示例中,代码创建了一个包含浮点值的 NumPy 数组 arr。然后,它使用 numpy.floor 方法将数组中的每个元素向下舍入到最接近的 0.1(即小数点后 1 位),并趋近于负无穷。舍入后的数组存储在名为 rounded_arr 的变量中。最后,使用 print 函数将四舍五入后的数组打印到控制台。
import numpy as np # 创建数组 arr = np.array([1.234, 2.345, 3.456, 4.567]) # 将数组元素向下舍入到小数点后 1 位 rounded_arr = np.floor(arr * 10) / 10 # 打印四舍五入后的数组元素 print(rounded_arr)
输出
[1.2 2.3 3.4 4.5]
方法 3:使用 numpy.ceil()
numpy.ceil 方法返回不小于输入元素。当应用于数组时,它会将每个元素向上舍入到最接近的整数或小数位,并趋向正无穷。
语法
numpy.ceil(arr, decimals)
此处,arr 是输入数组,decimals(可选)是要舍入到的小数位数。默认值为 0。
示例
在下面的示例中,代码创建一个包含浮点值的 NumPy 数组 arr。然后,它使用 numpy.ceil 方法将数组中的每个元素向上舍入到最接近的 0.1(即 1 位小数),并趋向正无穷。舍入后的数组存储在名为 rounded_arr 的变量中。最后,使用打印函数将四舍五入后的数组打印到控制台。
import numpy as np # 创建数组 arr = np.array([1.234, 2.345, 3.456, 4.567]) # 将数组元素向上舍入到小数点后 1 位 rounded_arr = np.ceil(arr * 10) / 10 # 打印舍入后的数组元素 print(rounded_arr)
输出
[1.3 2.4 3.5 4.6]
方法 4:使用 numpy.trunc() 方法
numpy.trunc 方法返回输入元素的整数部分。当应用于数组时,它会通过舍去每个元素的小数部分来向零舍入。
语法
numpy.trunc(arr)
此处,arr 是包含需要舍入的小数元素的输入数组。
示例
在下面的示例中,我们创建一个包含浮点值的 NumPy 数组 arr。然后,它使用 numpy.trunc 方法通过舍去值的小数部分,将数组中的每个元素向下舍入为最接近的整数。截断后的数组存储在名为 truncated_arr 的变量中。最后,使用 print 函数将截断后的数组打印到控制台。
import numpy as np # 创建数组 arr = np.array([1.234, 2.345, 3.456, 4.567]) # 将数组元素截断为整数 truncated_arr = np.trunc(arr) # 打印截断后的数组元素 print(truncated_arr)
输出
[1. 2. 3. 4.]
总结
本文讨论了如何使用 numpy 将数组元素四舍五入到指定的小数位数。 Numpy 库提供了一个 round() 函数来对数组元素执行舍入操作。我们可以使用该 round() 方法将数组元素舍入到任意所需的小数位数。我们也可以使用 numpy.floor()、numpy.ceil() 和 numpy.trunc() 对 Numpy 数组元素进行舍入。