使用NumPy如何将数组元素舍入到指定的小数位数

使用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数组元素进行舍入。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程