У меня есть данные о ценах на акции, как это. Дата на самом деле является индексом фрейма данных. Остальные колонны.
date open high low close name
2013-01-01 14.50 14.80 14.25 14.70 AAA
2013-01-02 14.70 14.90 14.30 14.68 AAA
2013-01-01 14.50 14.80 14.25 14.70 BBB
2013-01-02 14.70 14.90 14.30 14.68 BBB
2013-01-01 14.50 14.80 14.25 14.70 CCC
2013-01-02 14.70 14.90 14.30 14.68 CCC
Мне нужен новый фрейм данных, который имеет средние значения значений открытия, максимума, минимума и закрытия по месяцам для каждого уникального имени.
Лучшее, что я мог получить, - использовать этот код, но без столбца «имя».
stock_agg = {
'open': {'ave_open': 'mean'},
'high': {'ave_high': 'mean'},
'low': {'ave_low': 'mean'},
'close': {'ave_close': 'mean'}
}
stock_group = stock_data.groupby([pd.Grouper(freq='M')]).agg(stock_agg)
Как мне сгруппировать по имени и месяцу в приведенном выше примере?