I have a dataframe that looks like this:
Date n
2014-02-27 4
2014-02-28 5
2014-03-01 1
2014-03-02 6
2014-03-03 7
I\
If you're doing timeseries work, I recommend using a DatetimeIndex. In this example, you can use a TimeGrouper to group by month (which groups by year-month, like in a resample):
In [11]: g = df.groupby(pd.TimeGrouper('M'))
In [12]: g['n'].cumsum()
Out[12]:
Date
2014-02-27 4
2014-02-28 9
2014-03-01 1
2014-03-02 7
2014-03-03 14
dtype: int64
In [13]: df['csn'] = g['n'].cumsum()
Note: If you're not already using a DatetimeIndex, pass over the to_datetime
function and set the index:
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)