Open In App

Formatting float column of Dataframe in Pandas

Improve
Improve
Like Article
Like
Save
Share
Report

While presenting the data, showing the data in the required format is also a crucial part. Sometimes, the value is so big that we want to show only the desired part of this or we can say in some desired format. Let’s see different methods of formatting integer columns and the data frame it in Pandas.

Formatting float column of Dataframe in Pandas

Here, are various ways to Number formatting in Pandas in Python. So we are explaining some generally used ways and methods for Number formatting in Pandas in the following.

Round off the Column Values to Two Decimal Places

In this example, the below code uses the pandas’ library to create a Pandas DataFrame named ‘data frame’ from a dictionary containing monthly expenses. It then prints the original data frame. After setting the pandas option to display float values with two decimal places.

Python3




# import pandas lib as pd
import pandas as pd
 
# create the data dictionary
data = {'Month': ['January', 'February', 'March', 'April'],
        'Expense': [21525220.653, 31125840.875, 23135428.768, 56245263.942]}
 
# create the dataframe
dataframe = pd.DataFrame(data, columns=['Month', 'Expense'])
 
print("Given Dataframe :\n", dataframe)
 
# round to two decimal places in python pandas
pd.options.display.float_format = '{:.2f}'.format
 
print('\nResult :\n', dataframe)


Output:

Given Dataframe :
Month Expense
0 January 2.152522e+07
1 February 3.112584e+07
2 March 2.313543e+07
3 April 5.624526e+07
Result :
Month Expense
0 January 21525220.65
1 February 31125840.88
2 March 23135428.77
3 April 56245263.94

Pandas DataFrame Formatting with Commas and Decimal Precision

In this example below code uses pandas to create a DataFrame, ‘products_dataframe,’ with product names and their respective prices. It prints the initial DataFrame and then formats the ‘Price’ column with commas and rounds the values to two decimal places.

Python3




import pandas as pd
 
# Create a data dictionary
data = {'Product': ['Laptop', 'Phone', 'Tablet', 'Desktop'],
        'Price': [1200.50, 799.99, 349.75, 1500.25]}
 
# Create a DataFrame
products_dataframe = pd.DataFrame(data, columns=['Product', 'Price'])
 
print("Given Dataframe :\n", products_dataframe)
 
# Format with commas and round off to two decimal places in pandas
pd.options.display.float_format = '{:,.2f}'.format
 
# Create a new DataFrame with formatted values
formatted_products = products_dataframe.copy()
formatted_products['Price'] = formatted_products['Price'].apply(lambda x: '{:,.2f}'.format(x))
 
# Display the formatted DataFrame
print('\nResult :\n', formatted_products)


Output:

Given Dataframe :
Product Price
0 Laptop 1,200.50
1 Phone 799.99
2 Tablet 349.75
3 Desktop 1,500.25
Result :
Product Price
0 Laptop 1,200.50
1 Phone 799.99
2 Tablet 349.75
3 Desktop 1,500.25

Formatting and Scaling Population Data in Pandas DataFrame

In this example code utilizes the pandas library to create a DataFrame named ‘city_dataframe’ with city names and their respective populations. Initially displaying the DataFrame, it later formats the population column with commas and scales the values to millions.

Python3




import pandas as pd
 
# Create a data dictionary
data = {'City': ['New York', 'Los Angeles', 'Chicago', 'Houston'],
        'Population': [8336817, 3980400, 2716000, 2328000]}
 
# Create a DataFrame
city_dataframe = pd.DataFrame(data, columns=['City', 'Population'])
 
# Display the initial DataFrame
print("Given DataFrame:\n", city_dataframe)
 
# Format with commas and display population in millions
pd.options.display.float_format = '{:,.2f}'.format
city_dataframe['Population'] = city_dataframe['Population'] / 1000000  # Convert population to millions
 
print('\nResult:\n', city_dataframe)


Output:

Given DataFrame:
City Population
0 New York 8336817
1 Los Angeles 3980400
2 Chicago 2716000
3 Houston 2328000
Result:
City Population
0 New York 8.34
1 Los Angeles 3.98
2 Chicago 2.72
3 Houston 2.33


Last Updated : 10 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads