首页 > 解决方案 > 如何使用 Matplotlib 在单个图表上绘制每列中的值计数?

问题描述

我有一个熊猫数据框:

cols = ["A", "B", "C", "D", "E"]
values = [[True, True, True, False, False],
          [False, True, True, True, False], 
          [True, True, False, False, False], 
          [False, False, False, False, True]]

dummy_df = pd.DataFrame(values, columns=cols)
dummy_df

和

如何使用 matplotlib 将其绘制为分组条形图?我希望结果看起来像这样......

在此处输入图像描述

标签: pythonpandasmatplotlib

解决方案


您可以计算中的每一列DataFrame.apply,转置和调用DataFrame.plot.bar

cols = list('ABCDE')
values = [[True, True, True, False, False],
          [False, True, True, True, False], 
          [True, True, False, False, False], 
          [False, False, False, False, True]]

dummy_df = pd.DataFrame(values, columns=cols)
dummy_df.apply(pd.value_counts).T.plot.bar()

G


推荐阅读