У меня есть фрейм данных df1
, индексированный по дате и времени с записями каждые минуты в течение нескольких недель:
SAMPLE_TIME Bottom Top Out state
0 2015-07-15 16:41:56 48.625 55.812 43.875 1
1 2015-07-15 16:42:55 48.750 55.812 43.875 1
2 2015-07-15 16:43:55 48.937 55.812 43.875 1
3 2015-07-15 16:44:56 49.125 55.812 43.812 1
4 2015-07-15 16:45:55 49.312 55.812 43.812 1
Я хочу найти день с самым низким средним значением (TempBottom, TempTop), а затем получить данные за весь день по минутам, чтобы я мог построить этот день, я пробовал:
df2 = df1.groupby(pd.TimeGrouper('D')).agg(min) \
.sort(['TempTop','TempBottom'], ascending=[True,True])
Что дает мне самую низкую температуру в дни заказанных. образец:
SAMPLE_TIME Bottom Top Out state
2015-10-17 19.994 25.840 21.875 0
2015-08-29 26.182 28.777 25.937 0
2015-11-19 19.244 33.027 28.937 0
2015-11-07 19.744 33.527 28.125 0
тогда я подумал, что все, что мне нужно, это взять индекс первой записи из df2:
df1[df2.index[1]]
Но я получаю сообщение об ошибке:
KeyError: Timestamp('2015-08-29 00:00:00')