我有一个pandas数据框,如下所示,'created_at'包含日期时间值;
Id created_at issue_type product_version
123 2017-01-01 14:00:00 product failure version_a
124 2017-02-01 13:40:00 ID10t version_c
125 2017-02-20 01:40:00 PEBCAK version_c
我需要能够每个月发生issue_type和product_version。
因此,结果应该如下:
month issue_type count product_version count
Jan product failure 1 version_a 1
Feb ID10t 1 version_c 2
PEBCAK 1
更新:
这让我成为那里的一部分:
df.groupby(pd.Grouper(key='created_at', freq='M' ['issue_type'].value_counts()
答案 0 :(得分:1)
沿着这些方向移动:
df.groupby([df.created_at.dt.month,'product_version']).count()['Id'].reset_index(1)
# product_version Id
#created_at
#1 version_a 1
#2 version_c 2
最终会有两个数据帧(一个用于版本,一个用于问题)。如有必要,您可以稍后重新组合它们。