使用 Seaborn 在Python中分组条形图
先决条件:Seaborn
在本文中,我们将讨论在Python中使用 Seaborn 制作分组条形图的方法。在此之前,有一些概念必须熟悉:
- 条形图:当您有两个变量时,条形图非常有用,一个是数字变量,因此另一个可能是分类变量。条形图可以揭示它们之间的关系。
- 分组条形图:当您有多个分类变量时,分组条形图很有用。 Python 的 Seaborn 绘图库可以轻松形成分组条形图。
- Groupby: Pandas dataframe.groupby()函数用于根据某些条件将数据分组。 Pandas 对象可以在它们的任何轴上拆分。分组的抽象定义是提供标签到组名的映射。
程序
- 导入库。
- 加载或创建数据。
- 使用聚合函数执行 groupby 。
- 使用分组属性绘制条形图。
以下是解释相同的实现:
示例 1:
Python3
# importing packages
import seaborn as sb
# load dataset
df = sb.load_dataset('tips')
# perform groupby
df = df.groupby(['size', 'sex']).agg(mean_total_bill=("total_bill", 'mean'))
df = df.reset_index()
# plot barplot
sb.barplot(x="size",
y="mean_total_bill",
hue="sex",
data=df)
Python3
# importing packages
import seaborn as sb
# load dataset
df = sb.load_dataset('tips')
# perform groupby
df = df.groupby(['size', 'day']).agg(mean_total_bill=("total_bill", 'mean'))
df = df.reset_index()
# plot barplot
sb.barplot(x="size",
y="mean_total_bill",
hue="day",
data=df)
Python3
# importing packages
import seaborn as sb
# load dataset
df = sb.load_dataset('anagrams')
# perform groupby
df = df.groupby(['num1', 'attnr']).agg(mean_num3=("num3", 'mean'))
df = df.reset_index()
# plot barplot
sb.barplot(x="num1",
y="mean_num3",
hue="attnr",
data=df)
输出:
示例 2:
蟒蛇3
# importing packages
import seaborn as sb
# load dataset
df = sb.load_dataset('tips')
# perform groupby
df = df.groupby(['size', 'day']).agg(mean_total_bill=("total_bill", 'mean'))
df = df.reset_index()
# plot barplot
sb.barplot(x="size",
y="mean_total_bill",
hue="day",
data=df)
输出:
示例 3:
蟒蛇3
# importing packages
import seaborn as sb
# load dataset
df = sb.load_dataset('anagrams')
# perform groupby
df = df.groupby(['num1', 'attnr']).agg(mean_num3=("num3", 'mean'))
df = df.reset_index()
# plot barplot
sb.barplot(x="num1",
y="mean_num3",
hue="attnr",
data=df)
输出: