This is a bug in 0.13.1. Fixed in master/0.14 (releasing shortly). Also in 0.14 this will coerce the value column to float64
(you have it as object
for some reason; never a good thing with a float-like column).
Here's a work-around for 0.13.1 (the extra month column is also going away in 0.14).
In [14]: df.groupby('month').tail(1)
Out[14]:
month date value
month
2013-01-01 4 2013-01-01 2013-01-31 0.0037
2013-02-01 9 2013-02-01 2013-02-07 -0.0057
[2 rows x 3 columns]
Here's 0.14/master output
In [32]: df.groupby('month').last()
Out[32]:
date value
month
2013-01-01 2013-01-31 0.0037
2013-02-01 2013-02-07 -0.0057
In [33]: df.groupby('month').last().dtypes
Out[33]:
date datetime64[ns]
value float64
dtype: object