逻辑矩阵的 Pandas Groupby 条形图

Posted

技术标签:

【中文标题】逻辑矩阵的 Pandas Groupby 条形图【英文标题】:Pandas Groupby barplot for a logical matrix 【发布时间】:2017-03-12 12:38:36 【问题描述】:
a 0 0 0 0 1  
a 0 0 0 1 1  
a 1 0 0 1 1  
b 1 0 0 1 1  
c 0 0 1 1 1  
c 1 0 0 0 0   
c 0 1 0 0 0  

如果我有一个像上面这样的 Pandas 数据框,我怎么能按 a、b 和 c 对数据进行分组,然后绘制每列的总和/计数?

理想情况下,我的条形图中有 3 个组,每个组有 5 个条形表示该组中该列的总和/计数。

【问题讨论】:

【参考方案1】:

您想在数据框上使用 groupby 方法来创建数据框 groupby 对象。在 groupby 对象上调用 sum 会创建一个新数据帧,它是原始数据帧的轴心。从那里您可以致电plot 制作条形图。

import pandas as pd

d = 'type': ['a','a','a','b','c','c','c'],
     'v1': [0,0,1,1,0,1,0],
     'v2': [0,0,0,0,0,0,1],
     'v3': [0,0,0,0,1,0,0],
     'v4': [0,1,1,1,1,0,0],
     'v5': [1,1,1,1,1,0,0]

df = pd.DataFrame(d)
gb_sum = df.groupby('type').sum()
gb_sum.plot(kind='bar')

【讨论】:

以上是关于逻辑矩阵的 Pandas Groupby 条形图的主要内容,如果未能解决你的问题,请参考以下文章

应用 pandas groupby 后,在绘图中添加条形以显示平均值

np的concatenate和pandas的groupby

带 groupby 的条形图

在 Pandas 条形图上用值注释条形

Pandas,条形图注释

Pandas:带有两个条形图和两个 y 轴的条形图