【发布时间】:2017-05-19 22:06:39
【问题描述】:
我有一个 multiIndex pandas 数据框,其中第一级索引是一个组,第二级索引是时间。 我想要做的是,在每个组中,以日内观察的平均值重新采样到每日频率。
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'])
这是我迄今为止尝试过的:
daily_counts = data.groupby(pd.TimeGrouper('D'), level = ['Time']).mean()
但我收到以下错误:
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'MultiIndex'
知道如何解决这个问题吗?
【问题讨论】: