вы можете использовать groupby
, pd.Grouper
и agg
после установки для столбца date
значения datetime
с помощью правильный формат:
# Set date to datetime format. I'm assuming it's day.month.year in your original dataframe
df['date'] = pd.to_datetime(df.date, format = '%d.%m.%Y %H:%M')
new_df = (df.groupby(['identifier', pd.Grouper(key='date', freq='5min')])
.agg({'value_1':'mean', 'value_2':'sum'}))
>>> new_df
value_1 value_2
identifier date
A 2018-07-05 16:35:00 15 2
2018-07-05 16:40:00 30 5
B 2018-07-05 16:35:00 25 2
2018-07-05 16:40:00 30 7
Если вы хотите использовать тот же формат, что и желаемый вывод в вашем сообщении, вы можете использовать его для сортировки:
new_df.reset_index().sort_values(['date','identifier'])
identifier date value_1 value_2
0 A 2018-07-05 16:35:00 15 2
2 B 2018-07-05 16:35:00 25 2
1 A 2018-07-05 16:40:00 30 5
3 B 2018-07-05 16:40:00 30 7