Группировка по сохранению часов в пандах - PullRequest
0 голосов
/ 29 мая 2018

У меня есть следующий срок.Я хотел бы сгруппировать среднее значение для каждого часа, но при этом сохранить информацию о дате и времени в часах.

    date                    A      I   r         z
0 2017-08-01 00:00:00       3      56  4         6.   
1 2017-08-01 00:00:01       3      57  1         6   
2 2017-08-01 00:00:03       3      58  9         6   
3 2017-08-01 00:00:05       3      52  10        2.  
4 2017-08-01 00:00:06       3      50  1         1  

df.groupby(df['date'].dt.hour).mean()

date         A      I   r         z
    0        3      56  4         6.   
    1        3      57  1         6   
    2        3      58  9         6   
    3        3      52  10        2.  
    4        3      50  1         1  

Я хотел бы иметь в качестве индекса ту же дату раньше, например 2017-08-01 00:00:00 datetime64 [нс]

Как мне добиться этого вывода в Python?

Требуется вывод:

date                        A      I   r         z
0 2017-08-01 00:00:00       3      56  4         6.   
1 2017-08-01 01:00:00       3      57  1         6   
2 2017-08-01 02:00:00       3      58  9         6   
3 2017-08-01 03:00:00       3      52  10        2.  
4 2017-08-01 04:00:00       3      50  1         1  

1 Ответ

0 голосов
/ 29 мая 2018

Использование resample

df.set_index('date').resample('H').mean()
Out[179]: 
                       A      I    r    z
date                                     
2017-08-01 00:00:00  3.0  55.75  6.0  5.0
2017-08-01 01:00:00  NaN    NaN  NaN  NaN
2017-08-01 02:00:00  NaN    NaN  NaN  NaN
2017-08-01 03:00:00  3.0  50.00  1.0  1.0

Ввод данных

                 date  A   I   r    z
0 2017-08-01 00:00:00  3  56   4  6.0
1 2017-08-01 00:00:01  3  57   1  6.0
2 2017-08-01 00:00:03  3  58   9  6.0
3 2017-08-01 00:00:05  3  52  10  2.0
4 2017-08-01 03:00:06  3  50   1  1.0# different hour here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...