2016-07-08 2 views
1

Привет У меня есть следующие Timegrouper dataframe где максимальное значение вычисляется для каждой четверти часа от данных, которые были отделенных в минуту:Timegrouper из Timegrouper

in: 
newdf2 = newdf.groupby(pd.TimeGrouper(freq='15T')).max().fillna(0) 
Out: 

         Count 
time      
2016-04-20 05:30:00  4.0 
2016-04-20 05:45:00  0.0 
2016-04-20 06:00:00  0.0 
2016-04-20 06:15:00  6.0 
2016-04-20 06:30:00  5.0 

Я хотел бы, чтобы вернуться к минутам, как это:

      Count 
time      
2016-04-20 05:31:00  4.0 
2016-04-20 05:32:00  4.0 
2016-04-20 05:33:00  4.0 
2016-04-20 05:34:00  4.0 
2016-04-20 05:35:00  4.0 
... 
2016-04-20 05:44:00  4.0 
2016-04-20 05:45:00  0.0 

Я попытался снова провести время с интервалом = '1T', но это ничего не возвращает.

Могу ли я достичь этого с помощью простой функции панды?

ответ

2

Я думаю, что вам нужно resample с ffill:

df = df.resample('1T').ffill() 
print (df) 
        Count 
time      
2016-04-20 05:30:00 4.0 
2016-04-20 05:31:00 4.0 
2016-04-20 05:32:00 4.0 
2016-04-20 05:33:00 4.0 
2016-04-20 05:34:00 4.0 
2016-04-20 05:35:00 4.0 
2016-04-20 05:36:00 4.0 
2016-04-20 05:37:00 4.0 
2016-04-20 05:38:00 4.0 
2016-04-20 05:39:00 4.0 
2016-04-20 05:40:00 4.0 
2016-04-20 05:41:00 4.0 
2016-04-20 05:42:00 4.0 
2016-04-20 05:43:00 4.0 
2016-04-20 05:44:00 4.0 
2016-04-20 05:45:00 0.0 
2016-04-20 05:46:00 0.0 
... 
... 
+0

Jezrael, спасибо большое! Это делает мой код намного проще в других частях кода. – Uis234

+0

Рад может вам помочь! Удачи! – jezrael

Смежные вопросы