Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过分组实现熊猫逐组可视化_Python_Pandas_Matplotlib_Group By_Visualization - Fatal编程技术网

Python 通过分组实现熊猫逐组可视化

Python 通过分组实现熊猫逐组可视化,python,pandas,matplotlib,group-by,visualization,Python,Pandas,Matplotlib,Group By,Visualization,我面临着一个非常恼人的问题。我有一个数据集,其中有不同地区和年份的销售额 我希望根据不同的地区,将年度总销售额可视化 下面是我的groupby代码: groups = df.groupby(["Region", "Year"])["Sales"].sum() groups.plot.bar(color="blue") plt.show() 我得到的输出如下所示: 我有两个问题: 1.当我的图表看起来很混乱时,我怎么能把区域和年份栏彼此分开呢?一条分隔线或者实际上是一个荧光灯也可以,或者更大的

我面临着一个非常恼人的问题。我有一个数据集,其中有不同地区和年份的销售额

我希望根据不同的地区,将年度总销售额可视化

下面是我的groupby代码:

groups = df.groupby(["Region", "Year"])["Sales"].sum()
groups.plot.bar(color="blue")
plt.show()
我得到的输出如下所示:

我有两个问题: 1.当我的图表看起来很混乱时,我怎么能把区域和年份栏彼此分开呢?一条分隔线或者实际上是一个荧光灯也可以,或者更大的间距对我来说是一个很好的解决方案。 (请看下面我的意思:) 或

我根本不知道如何解决这个问题

问题2。我怎么能让这张图片按销售额最多的地区排序,然后是年销售额第二大的地区,依此类推?一种基于区域的降序排序

我尝试了下面的代码:

groups = df.groupby(["Region", "Year"])["Sales"].sum()
groups2=groups.sort_values(axis=[0][1],ascending=False)
groups.plot.bar(color="blue")
plt.show()
但是我得到了一个列表索引超出范围的错误。使用axis=[0]无法解决此问题


非常感谢您事先的帮助

按照ChrisD的建议,您可以通过将条形图按区域显示为不同的面来获得工作结果

sns.catplot(x='Year', y='Sales', col='Region', data=groups, kind='bar')

出于显示目的,您可能需要设置纵横比的格式。

按照ChrisD的建议,您可以通过将条形图按区域显示为不同的面来获得工作结果

sns.catplot(x='Year', y='Sales', col='Region', data=groups, kind='bar')

出于显示目的,您可能需要格式化纵横比。

接受第二个允许这种分组的变量
hue
。接受允许这种分组的第二个变量
hue
。感谢您的回复。不幸的是,我得到了一个“无法解释”年错误。我做错了什么?:(谢谢!这可能是数据表形状或格式的问题。您是否尝试过用reset_index()重置groupby中的索引?非常感谢Kevin!不,我没有重置索引。所以现在我重置了它,效果很好!)非常感谢!有没有办法将所有这些图表按降序排列?我的意思是,销售最多的地区应该放在第一位,其他地区则按降序排列?再次感谢您的巨大帮助!您通常可以使用catplot的顺序参数(如col_order)对可视化数据进行排序(可能是排顺序、色调顺序或顺序,取决于你的口味)。你试过了吗?我知道我应该四处看看颜色顺序,但我不确定应该添加什么作为参数…我无法从catplot方法的信息中找到它。不幸的是:。(谢谢你的回复。不幸的是,我得到了“无法解释”的年份)错误。我做错了什么?:(谢谢!这可能是数据表形状或格式的问题。您是否尝试过使用reset_index()重置groupby中的索引?非常感谢Kevin!不,我没有重置索引。所以现在我重置了索引,效果很好!)非常感谢!有没有办法将所有这些图表按降序排列?我的意思是,销售最多的地区应该放在第一位,其他地区则按降序排列?再次感谢您的巨大帮助!您通常可以使用catplot的顺序参数(如col_order)对可视化数据进行排序(可能是行顺序、色调顺序或顺序,取决于您的口味)。您试过了吗?我知道我应该四处查看颜色顺序,但我不确定应该添加什么作为参数…不幸的是,我无法从catplot方法的信息中找到它(