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()
输出:
第 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)
输出: