The round()
function returns floating-point elements of an array to the nearest integer or rounded to the specified number of decimals.
Example
import numpy as np
# create an array
array1 = np.array([1.2, 2.7, 3.5, 4.1, 5.9])
# use round() to round the elements of the array to the nearest integer
rounded_array = np.round(array1)
# print the rounded array
print(rounded_array)
# Output : [1. 3. 4. 4. 6.]
round() Syntax
The syntax of round()
is:
numpy.round(array, decimals=0, out=None)
round() Arguments
The round()
function takes one argument:
array
- the input array whose elements are to be roundeddecimal
(optional) - number up to which the elements ofarray
is roundedout
(optional) - the output array where the result will be stored.
round() Return Value
The round()
function returns a new array with the rounded values.
Example 1: Round Array Elements to Nearest Integer
import numpy as np
# create a 2-D array
array1 = np.array([[1.2, 2.7, 3.5],
[4.1, 5.9, 6.4]])
# use round() to round the elements of the array to the nearest integer
rounded_array = np.round(array1)
print(rounded_array)
Output
[[1. 3. 4.] [4. 6. 6.]]
In this example, the np.round()
function rounds the elements of the array to the nearest integer.
However, even after rounding, the data type of the array remains as float64
. That is the reason for the presence of a decimal point in the output.
If you prefer to have the output as integers without the decimal points, you can convert the data type of the rounded array to int
using astype()
as:
rounded_array = np.round(array1).astype(int)
Then the output will be,
[[1 3 4] [4 6 6]]
Example 2: Round Elements to Given Number of Decimal Places
import numpy as np
# create an array
array1 = np.array([1.23456789, 2.3456789, 3.456789])
# round the elements to 2 decimal places
rounded_array = np.round(array1, decimals=2)
print(rounded_array)
Output
[1.23 2.35 3.46]
Each element in array1 is rounded to 2 decimal places as specified by the decimals argument in the np.round()
function.
Example 3: Use of out Argument in round()
import numpy as np
# create an array
array1 = np.array([1.2, 2.7, 3.5])
# create an empty array with the same shape as array1
rounded_array = np.zeros_like(array1)
# round the elements of array1 and store the result in rounded_array
np.round(array1, out=rounded_array)
print(rounded_array)
Output
[1. 3. 4.]
Here, after specifying out=rounded_array
, the rounded_array contains the rounded values of each element in array1.