Pandas Groupby用于逻辑矩阵的条形图

时间:2016-10-30 00:48:57

标签: python pandas plot group-by

ggplot(TmPostS, aes(x = yearID, y=OvSeaRank)) + geom_line(colour = "darkblue") + geom_point(colour = "red") + 
  scale_y_reverse() + ggtitle("World Series Champions based on their regular season W-L% overall rank") + xlab("Year") + ylab("Rank of champion") + theme_light()

如果我有一个像上面那样的Pandas数据帧,我怎样才能通过a,b和c对数据进行分组,然后绘制每列的总和/数量?

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

1 个答案:

答案 0 :(得分:2)

您希望在数据框上使用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')

enter image description here