我有一个数据集,我试图在其中细分并按月统计出现的次数。我还需要转换最终结果以为每个月/每次发生添加一列
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
答案 0 :(得分:2)
使用pd.crosstab
将strftime
与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