The round() method in Pandas is used to round values to a specified number of decimal places.
Example
import pandas as pd
# create a DataFrame
data = {'Value1': [1.1234, 2.3456, 3.5678],
'Value2': [4.2345, 5.6789, 6.9123]}
df = pd.DataFrame(data)
# round the entire DataFrame to 2 decimal places
df_rounded = df.round(2)
print(df_rounded)
'''
Output
Value1 Value2
0 1.12 4.23
1 2.35 5.68
2 3.57 6.91
'''
round() Syntax
The syntax of the round() method in Pandas is:
df.round(decimals=0, *args, **kwargs)
round() Arguments
The round() method takes following arguments:
decimal(optional) - number of decimal places to round to*argsand**kwargs(optional) - additional arguments and keyword arguments that can be passed to the function
round() Return Value
The round() method returns a new DataFrame with the data rounded to the given number of decimals.
Example 1: Round DataFrame Elements to Nearest Integer
import pandas as pd
# create a DataFrame
data = {'Value1': [1.1234, 2.3456, 3.5678],
'Value2': [4.2345, 5.6789, 6.9123]}
df = pd.DataFrame(data)
# round the entire DataFrame elements to nearest integer
df_rounded = df.round()
print(df_rounded)
Output
Value1 Value2
0 1.0 4.0
1 2.0 6.0
2 4.0 7.0
In this example, the round() method rounds the elements of the df Dataframe to the nearest integer.
Example 2: Round Elements to Given Number of Decimal Places
import pandas as pd
# sample data
data = {
'A': [1.12345, 2.98765],
'B': [3.10234, 4.76543]
}
# create a DataFrame
df = pd.DataFrame(data)
# round to 3 decimal places
df_rounded = df.round(3)
print(df_rounded)
Output
A B
0 1.123 3.102
1 2.988 4.765
In the above example, the round() method is used to round the elements of the df DataFrame.
The argument 3 indicates that we want to round all the numeric values in df to three decimal places.
Example 3: Round Specific Columns
import pandas as pd
# create a DataFrame
data = {'Value1': [1.1234, 2.3456, 3.5678],
'Value2': [4.2345, 5.6789, 6.9123]}
df = pd.DataFrame(data)
# round specific columns to given number of decimal places
df_rounded = df.round({'Value1': 1, 'Value2': 2})
print(df_rounded)
Output
Value1 Value2
0 1.1 4.23
1 2.3 5.68
2 3.6 6.91
Here, we have passed a dictionary to the round() method where:
'Value1': 1- specifies that the column labeledValue1should be rounded to 1 decimal place.'Value2': 2- specifies that the column labeledValue2should be rounded to 2 decimal places.