使用NumPy如何将数组元素舍入到指定的小数位数
使用NumPy库的round()函数可以将数组元素舍入到指定的小数位数。NumPy是一个用于执行数学运算、操作和创建数组等的Python库。在本文中,我们将使用round()函数将数组元素舍入到指定的小数位数。
方法1:使用round()函数
round()函数的语法
numpy.round(arr,decimals=0, out=None)
在这里, arr 是要四舍五入的输入数组, decimal 是要将数组元素四舍五入的十进制位数。默认情况下,decimal值为0。Out是在对原始数组元素进行四舍五入后创建的输出数组。
示例1:四舍五入单个数组元素
在下面的示例中,我们创建了一个具有单个元素的数组arr,然后使用round()函数将数组元素四舍五入到小数点后两位。然后打印出结果四舍五入的数组元素。
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数组元素进行舍入。