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个条,表示该组中该列的总和/计数。
答案 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')