首页 > 解决方案 > 绘制多个条形图

问题描述

我想创建一个专注于两个城市的条形图。我的数据集与此类似。

    city      rate     Bedrooms
    Houston 132.768382      0
    Dallas  151.981043      1
    Dallas  112.897727      3
    Houston 132.332665      1
    Houston 232.611185      2
    Dallas  93.530662       4

我已将它们分解为达拉斯和休斯顿的数据框。像

dal.groupby('bedrooms')['rate'].mean().plot(kind='bar')

&

hou.groupby('bedrooms')['rate'].mean().plot(kind='bar') 

我将如何制作一个条形图,列出基于卧室类型的平均挂牌率。类似于下面这张图片的东西,我在这里找到了Python matplotlib multiple bars。标签是城市。

我会很感激任何帮助!

在此处输入图像描述

标签: pythonpandasmatplotlibbar-chart

解决方案


在这种情况下,Seaborn 是你的朋友,首先创建一个分组数据rate框,其中包含每个城市和卧室的平均值,然后用 seaborn 绘制它

import seaborn as sns

dal_group = dal.groupby(['city' , 'Bedrooms']).agg({'rate': 'mean'}).reset_index()
sns.barplot(data=dal_group, x='Bedrooms', y='rate', hue='city')

使用上面的数据,它将产生这个图:

在此处输入图像描述


推荐阅读