python - 使用 pandas 按列值分组条形图

标签 python pandas matplotlib

我正在尝试显示编码为列值的类别的分组条形图(在我的示例中为 col2)

条形图的图例必须显示 col2 中编码的值,因此 TrueFalse 并且条形图应根据这些进行分组值。

df = pd.DataFrame({
    'col1': ['A', 'B', 'A', 'C', 'B', 'C', 'A', 'A', 'A', 'A', 'B'],
    'col2': [True, False, True, True, False, True, False, False, False, False, True],
})
df.groupby('col1')['col2'].count().plot(kind = 'bar', legend=True)

enter image description here

相反,我希望看到类似的内容:

enter image description here

最佳答案

我认为你需要:

df.groupby(['col1', 'col2']).agg('size').unstack().plot(kind = 'bar', legend=True)

enter image description here

关于python - 使用 pandas 按列值分组条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704243/

相关文章:

python - 循环总和不包括 pandas 数据帧的一列

python - matplotlib运行时错误: In select_charmap: Could not set the charmap using latex

python - Numpy 数组的长整数形状

python - 我如何使用 mask_rcnn 保存我的图像结果

python - 将数据发送到本地应用程序以及从本地应用程序发送到远程托管服务器

python - pandas 的过滤功能 - 在列中查看 NaN 值

python - 如何从 pandas DataFrame 生成 n 级分层 JSON?

python - 有没有办法让 locals() 和 globals() 像 defaultdict 一样

python - matplotlib 从轴获取可映射的颜色条

python - Matplotlib 副标题打印旧标题