Multiple Density Plots with Pandas in Python



Multiple Density Plots with Pandas in Python

Multiple density plots are a great way of comparing the distribution of multiple groups in your data.  We can make multiple density plots using pandas plot.density() function. However, we need to convert data in a wide format if we are using the density function. Wide data represents different groups in different columns. We convert data in a wide format using Pandas pivot() function.

Let’s create the simple data-frame and then reshape it into a wide-format:

Example 1:

Here we are using this data set.

Step 1: Creating dataframe from data set.

import pandas as pd
 
# creating a dataframe
df = pd.read_csv(r"gapminder1.csv")
df.head()

Output: 

dataset

Step 2: Let’s group data according to countries in different columns so that we can apply the density() function to plot multiple density plots.

# converting data into wide-format
data_wide = df.pivot(columns='continent',
                     values='lifeExp')
data_wide.head()

Output: 

Step 3: Now let’s plot multiple density plot using plot.density()

import matplotlib.pyplot as plt
 
# calling density() to make
# multiple density plot 
data_wide.plot.density(figsize = (7, 7),
                       linewidth = 4)
 
plt.xlabel("life_Exp")

Output :

Multiple density plots

Example 2: We can also call plot.kde() function on dataframe to make multiple density plots with Pandas.

Here we are using the tips dataset for this example, You can find it here.

Step 1: Creating dataframe from data set.

import pandas as pd
 
# creating a dataframe
df = pd.read_csv(r"tips.csv")
df.head()

Output:

tips_df

Step 2: Now apply pivot() function to have dataframe in the wide-format then apply kde() to have multiple density plot.

# Converting to wide dataframe
data_wide = df.pivot(columns = 'day',
                     values = 'total_bill')
 
# plotting multiple density plot
data_wide.plot.kde(figsize = (8, 6),
                   linewidth = 4)

Output:

tips multiple D.P

 

Last Updated on October 24, 2021 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs