我正在运行以下代码:
monthly_data = df.groupby(['year','month','name']).agg({'name':'count'})
我在多年内按月汇总名称数量。当前输出的格式为
year month game count(name)
....
....
....
其中输出的前三个值是索引。我想要的是返回一个数据框,其名称为行,每年 - 月组合作为列,计数(名称)作为列中的值,这样我可以绘制名称的时间序列随着时间的推移。我怎么能这样做?
编辑:数据格式为
year month name
2012 1 annie
2012 1 annie
2012 2 david
2012 2 david
2012 2 david
汇总我做输出
year month name count(name)
2012 1 annie 2
2012 2 david 3
我希望它的形式为
name 2012-1 2012-2
annie 2 0
david 0 3
认为我将能够使用行
创建水平图表答案 0 :(得分:1)
这并没有准确地给出你所写的输出,但如果你的柱标签有miltiindex就可以了,你可以做到
Zip_Code
如果您希望它看起来与您的帖子完全相同:
df2 = pd.pivot_table(df, columns = ['year', 'date'], index = 'name', aggfunc = len)