У меня есть данные с двумя индексами (дата и время), которые я импортировал с помощью pandas.read_csv (), и они изначально выглядят так:
Date Time Volume
2016-01-04 2018-04-25 09:01:29 53645
2018-04-25 10:01:29 123
2018-04-25 10:01:29 1345
....
2016-01-05 2018-04-25 10:01:29 123
2018-04-25 12:01:29 213
2018-04-25 10:01:29 123
....
Я хочу сгруппировать их по дням по группам20 минут бункеров.Это должно выглядеть следующим образом.
Date Time Volume
2016-01-04 2018-04-25 09:00:00 53645
2018-04-25 09:20:00 456453
2018-04-25 09:40:00 13153
....
2018-04-25 17:00:00 13153
2016-01-05 2018-04-25 09:00:00 46465
2018-04-25 09:20:00 454688
2018-04-25 09:40:00 45645
....
2018-04-25 17:00:00 45646
Я уже достиг того, чего хочу, но я совершенно уверен, что есть более «питонный» и менее потребляющий память способ достижения моей цели.Мой код теперь выглядит так:
frames = []
for date, sub_df in _file_data.groupby(level=0):
gr = sub_df.groupby(pd.Grouper(level=1, freq="20min")).sum()
frames.append(gr)
_file_data = pd.concat(frames)