首页 > 解决方案 > 如何在 Python 中使用 group by 绘制具有 2 列的条形图

问题描述

我得到了这样的数据

  color type  price     Y/N
1   R   A       H       Y
2   G   B       L       N
3   B   A       H       N
4   R   C       L       N
5   G   B       H       Y
6   R   A       H       Y
7   B   B       H       Y

我想用每列和 Y/N 列分组

像这样在此处输入图像描述

对不起图片,希望你能理解:) 这是绘制这样的图片而不计算每种不同类型的数量的任何简单方法。顺便说一句,当它不是二进制类别时如何绘制,例如 Y/N 列有 4 个不同的值。

标签: pythonmatplotlib

解决方案


你可以尝试这样的事情:

for i in df.columns[:-1]:
    df.groupby([i,'Y/N'])[i].size().unstack().plot.bar()

输出:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述


推荐阅读