在Python中用Pandas绘制多重密度图

在Python中用Pandas绘制多重密度图

多重密度图是比较数据中多组分布的一个好方法。我们可以使用pandas plot.density()函数制作多个密度图。然而,如果我们使用密度函数,我们需要将数据转换为宽格式。宽幅数据在不同的列中代表不同的组。我们使用Pandas pivot()函数转换宽格式的数据。

让我们创建一个简单的数据框架,然后将其重塑为一个宽格式:

示例 1:

在这里,我们使用的是这个数据集。

第1步:从数据集创建数据框架。

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

输出:

在Python中用Pandas绘制多重密度图

第2步:让我们根据国家在不同的列中对数据进行分组,这样我们就可以应用density()函数来绘制多张密度图。

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

输出:

在Python中用Pandas绘制多重密度图

步骤3:现在让我们用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")

输出 :

在Python中用Pandas绘制多重密度图

例子2:我们也可以在数据框架上调用plot.kde()函数,用Pandas制作多个密度图。

在这里,我们在这个例子中使用提示数据集,你可以在这里找到它。

第1步:从数据集创建数据框架。

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

输出:

在Python中用Pandas绘制多重密度图

步骤2:现在应用pivot()函数来获得宽格式的数据框架,然后应用kde()来获得多重密度图。

# 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)

输出:

在Python中用Pandas绘制多重密度图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程