我有一个数据集如下:
date jobcategory
2016-01-01 SP
2016-01-01 DP
2016-01-01 SP
2016-01-01 CP
2016-01-01 DP
2016-01-01 DP
2016-01-01 DP
2016-01-02 SP
2016-01-02 CP
2016-01-02 SP
2016-01-02 CP
2016-01-02 DP
2016-01-02 TP
2016-01-02 DP
2016-01-02 DP
2016-01-02 DP
2016-01-03 SP
2016-01-03 SP
2016-01-03 DP
2016-01-03 DP
2016-01-03 SP
2016-01-03 DP
2016-01-04 CP
2016-01-04 MP
我正在尝试将此聚合以维护日期字段的唯一性,同时获取第二列中某个作业类别的计数,如下所示:
date jobcategory Count
2016-01-01 SP 2
2016-01-02 SP 2
2016-01-03 SP 3
2016-01-04 SP 0
非常感谢任何帮助。
答案 0 :(得分:0)
首先使用df.groupby
上的date
,然后使用原始日期列df.merge
来获取0个计数。
In [921]: df[df.jobcategory == 'SP'].groupby('date', as_index=False).count().merge(df[['date']].drop_duplicates(), how='outer').fillna(0)
Out[921]:
date jobcategory
0 2016-01-01 2.0
1 2016-01-02 2.0
2 2016-01-03 3.0
3 2016-01-04 0.0