2017-05-11 18 views
4

私は毎月の時系列データを四半期ごとに変換し、四半期ごとに合計を集計しようとしています。私はKeyErrorを得る: 'date'私は次を実行するとき。パンダグループがキーエラーを引き起こす

abc= abc.set_index('date').to_period('Q').groupby(['origin', 
'date']).agg(sum) 

ただし、次のようにインデックスをリセットすると、コードが機能します。 originbyとdateフィールドでgroupbyを使用するためにインデックスをリセットする必要があるのはなぜですか?インデックスをリセットせずにグループ化する方法はありますか?

abc= abc.set_index('date').to_period('Q').reset_index().groupby(['origin', 
'date']).agg(sum) 

答えて

5

あなたが行うときので:あなたがインデックスに '日付' を変更しました

abc= abc.set_index('date').to_period('Q') 

その後、もう存在しない列として「日付」にアクセスしようとします。したがって、エラーです。 reset_index操作は 'date'を列として復元して再び動作させます。

指標として設定しているときは、実行して列として「日付」を維持することができます。

abc= abc.set_index('date', drop=False).to_period('Q').groupby(['origin', 
'date']).agg(sum) 
関連する問題