如何使用 NumPy 将数组元素舍入到给定的小数位数?
NumPy 库的 round() 函数用于将数组元素舍入到给定的小数位数。NumPy 是一个 Python 库,用于执行数学运算、数组操作和创建等。在本文中,我们将使用 round() 函数将数组元素舍入到给定的小数位数。
方法 1:使用 round() 函数
round() 函数的语法
numpy.round(arr,decimals=0, out=None)
这里,arr 是要舍入的输入数组,decimal 是数组元素要舍入到的小数位数。默认情况下,decimal 值为 0。out 是舍入原始数组元素后创建的输出数组。
示例 1:舍入单个数组元素
在下面的示例中,我们创建了一个包含单个元素的数组 arr,然后使用 round() 函数将数组元素舍入到小数点后 2 位。然后打印出舍入后的数组元素。
import numpy as np # Create an array arr = np.array([3.14159]) # Round the array element to 2 decimal places rounded_arr = np.round(arr, decimals=2) # Print the rounded array element print(rounded_arr)
输出
[3.14]
示例:舍入多个数组元素
在下面的示例中,我们创建了一个包含多个元素的数组 arr,然后使用 round() 函数将数组元素舍入到小数点后 1 位。然后打印出舍入后的数组元素。
import numpy as np # Create an array arr = np.array([1.234, 2.345, 3.456, 4.567]) # Round the array elements to 1 decimal place rounded_arr = np.round(arr, decimals=1) # Print the rounded array elements print(rounded_arr)
输出
[1.2 2.3 3.5 4.6]
示例 3:舍入到最接近的整数
在下面的示例中,我们创建了一个包含多个元素的数组 arr,然后使用 round() 函数将数组元素舍入到最接近的整数。然后打印出舍入后的数组元素。
import numpy as np # Create an array arr = np.array([1.234, 2.345, 3.456, 4.567]) # Define the precision precision = 0.001 # Calculate the multiplier needed to achieve the desired precision multiplier = 1 / precision # Round the array elements to the nearest integer rounded_arr = np.round(arr * multiplier) / multiplier # Print the rounded array elements print(rounded_arr)
输出
1.234 2.345 3.456 4.567]
示例 4:舍入到指定的精度
在下面的示例中,我们首先将所需的精度定义为变量 precision。然后,我们通过将 1 除以精度来计算实现所需精度的乘数。在舍入之前,我们将数组元素乘以该乘数,然后将其除以乘数,以获得所需精度下的舍入值。
import numpy as np # Create an array arr = np.array([1.234, 2.345, 3.456, 4.567]) # Define the precision precision = 0.001 # Calculate the multiplier needed to achieve the desired precision multiplier = 1 / precision # Round the array elements to the nearest integer rounded_arr = np.round(arr * multiplier) / multiplier # Print the rounded array elements 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 # Create an array arr = np.array([1.234, 2.345, 3.456, 4.567]) # Round down the array elements to 1 decimal place rounded_arr = np.floor(arr * 10) / 10 # Print the rounded array elements 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 的变量中。最后,使用 print 函数将舍入后的数组打印到控制台。
import numpy as np # Create an array arr = np.array([1.234, 2.345, 3.456, 4.567]) # Round up the array elements to 1 decimal place rounded_arr = np.ceil(arr * 10) / 10 # Print the rounded array elements 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 # Create an array arr = np.array([1.234, 2.345, 3.456, 4.567]) # Truncate the array elements to integers truncated_arr = np.trunc(arr) # Print the truncated array elements print(truncated_arr)
输出
[1. 2. 3. 4.]
结论
在本文中,我们讨论了如何使用 numpy 将数组元素舍入到给定的小数位数。NumPy 库提供了一个 round() 函数来对数组元素执行舍入操作。我们可以使用 round() 方法将数组元素舍入到任何所需的小数位数。我们还可以使用 numpy.floor()、numpy.ceil() 和 numpy.trunc() 来舍入 numpy 数组元素。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP