Pandas TimerGrouper:开头的索引

时间:2015-02-04 15:01:36

标签: python datetime pandas

我的pd.TimeGrouper("M")每月对每日数据进行分组,但不幸的是汇总日期是月末,而我希望有月初。没有使用TimeGrouper的任何参数已经解决了这个问题。

输出:

2003-01-31   29853   2071
2003-02-28   26668   2651
2003-03-31   37380   2324
2003-04-30   25344   1448

预期产出:

2003-01-01   29853   2071
2003-02-01   26668   2651
2003-03-01   37380   2324
2003-04-01   25344   1448

这里使用label='left'输出

df.groupby([pd.TimeGrouper("M", label='left'), 'status']).sum()

                        TUFNWGTP  TELFS  t070101  t070102  t070103  t070104  \
TUDIARYDATE status                                                            
2002-12-31  emp     4.514715e+09   1244     8462      506     1265    19391   
            unemp   3.857707e+08    322      687       45      162     1147   
2003-01-31  emp     3.677095e+09   1015     7915      561     1300    16599   
            unemp   4.522924e+08    403     1073       34       42     1474 

1 个答案:

答案 0 :(得分:4)

您应该使用MS(月 - 开始):

df.groupby([pd.TimeGrouper("MS", label='left'), 'status']).sum()

请参阅文档中的offset aliases