4
私はマルチインデックスpandasデータフレームを持っています。第1レベルのインデックスはグループで、第2レベルのインデックスは時間です。 私がしたいことは、各グループ内で、日中の観測の平均を取って、毎日の頻度に再サンプリングすることです。マルチインデックスのパンダタイムグルーファー
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'
任意のアイデアはどのようにこの問題を解決するために?
おかげで多く、これは私の問題を解決しました。 だから私は、主なテイクアウェイは、私がMultiIndexでgroupbyしたいとき、私はまだすべてのインデックスレベルをグループ化する必要があるということです。それは公正ですか? – FLab
はい、おそらくもっと一般的な使用の2番目の解決策です[こちら](http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#groupby-syntax-with-window-and-resample-operationsを参照してください) )。 – jezrael
2番目の解決策では、このバグをハイライトする価値があります(パンダ0.19で修正されています)。これは、resampleでkwargsを使用できない可能性があります:https://github.com/pandas-dev/pandas/issues/13235 – FLab