У меня есть такой фрейм данных:
zone date a b
AL 2014-01-31 8.88 3286.6
AL 2014-01-31 0.61 1047.105
BS 2014-01-27 1.59 145.283
RF 2014-01-31 2.67 2842.35
RF 2014-01-31 3.4 0.26
Я хочу сгруппировать по месяцам и зонам
df.iloc[:, 1] = pd.to_datetime(df.iloc[:, 1])
g = df.groupby(['zone', pd.Grouper(key='date', freq='M')])
Если я использую pd.Grouper
есть только одна зона
>>> g.groups.keys()
dict_keys([('AL', Timestamp('2014-01-31 00:00:00'))])
Если я не использую pd.Grouper
все зоны там:
g = df.groupby('zone')
>>>> g.groups.keys()
dict_keys(['AL', 'BS', 'RF'])
Я хотел бы получить все зоны, сгруппированные по месяцам, чтобы результат был примерно таким:
>>>> g.groups.keys()
dict_keys([('AL', Timestamp('2014-01-31 00:00:00')),
('BS', Timestamp('2014-01-31 00:00:00')),
('RF', Timestamp('2014-01-31 00:00:00'))])
Это мой самый первый вопрос здесь, поэтому, если я смогу сделать его лучше, пожалуйста, скажите мне, как.