I have a pandas multi-index where the first level index is a group and the second level index is time. What I want to do, within each group, is to retake to the daily frequency, taking the average value of intraday observations.
import pandas as pd import numpy as np data = pd.concat([pd.DataFrame([['A']*72, list(pd.date_range('1/1/2011', periods=72, freq='H')), list(np.random.rand(72))], index = ['Group', 'Time', 'Value']).T, pd.DataFrame([['B']*72, list(pd.date_range('1/1/2011', periods=72, freq='H')), list(np.random.rand(72))], index = ['Group', 'Time', 'Value']).T, pd.DataFrame([['C']*72, list(pd.date_range('1/1/2011', periods=72, freq='H')), list(np.random.rand(72))], index = ['Group', 'Time', 'Value']).T], axis = 0).set_index(['Group', 'Time'])
This is what I have tried so far:
daily_counts = data.groupby(pd.TimeGrouper('D'), level = ['Time']).mean()
But I get the following error:
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'MultiIndex'
Any idea how to solve this?