Python计数转换并将日期汇总到月份列

时间:2018-09-10 18:58:23

标签: python pandas count pandas-groupby

我有一个数据集,我试图在其中细分并按月统计出现的次数。我还需要转换最终结果以为每个月/每次发生添加一列

Report_ID    Report_name    timestamp    
1            Profit         8/1/2018 06:10:40
2            Revenue        8/5/2018 09:25:45
1            Profit         8/29/2018 10:11:30
2            Revenue        9/1/2018  09:45:22

输出:

Report_ID   8/2018    9/2018
1           2         0 
2           1         1

1 个答案:

答案 0 :(得分:2)

使用pd.crosstabstrftime与dt访问器一起使用:

pd.crosstab(df.Report_ID, df['timestamp'].dt.strftime('%m/%Y'))\
  .reset_index()\
  .rename_axis([None], axis=1)

输出:

   Report_ID  08/2018  09/2018
0          1        2        0
1          2        1        1