📜  Python中 Pandas 的多重密度图

📅  最后修改于: 2022-05-13 01:54:20.821000             🧑  作者: Mango

Python中 Pandas 的多重密度图

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

让我们创建简单的数据框,然后将其改造成宽格式:

示例 1:

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

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

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


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


Python3
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")


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


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


输出:

数据集

第 2 步:让我们根据不同列中的国家/地区对数据进行分组,以便我们可以应用 density()函数绘制多个密度图。

蟒蛇3

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

输出:

第 3 步:现在让我们使用plot.density()绘制多密度图

蟒蛇3

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

输出 :

多重密度图

示例 2:我们还可以在数据帧上调用plot.kde()函数来使用 Pandas 制作多个密度图。

在这里,我们在此示例中使用了提示数据集,您可以在此处找到它。

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

蟒蛇3

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

输出:

提示_df

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

蟒蛇3

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

输出:

提示多个DP