2017-08-06 50 views
1

我有如下数据集:汇总的时间序列数据保存日期列在Python

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  

我试图聚集这mainting同时获得在工作类别之一的计数独特的日期字段第二栏如下:

date  jobcategory Count 
2016-01-01  SP  2 
2016-01-02  SP  2 
2016-01-03  SP  3 
2016-01-04  SP  0 

任何帮助将不胜感激。

+0

我推荐问一个新问题。我将设置标签python,所以这应该有助于熊猫用户。 –

回答

0

首先在date上使用df.groupby,然后在原始日期列中使用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 
+0

非常感谢您的快速回复。不幸的是,我是一个新手,无法正确执行此代码。我是否应该用\替代任何东西? – Sree

+0

@Sree不,你不能。这只是一个可读性的续行字符。现在看看我的答案。 –

+0

@coldspeed再次感谢。我收到以下错误:“错误:意外的符号在”abends.jcat [abends.jcat $ jobcat ==“SP”]。groupby“! – Sree