группа DataFrame с 10-минутными интервалами - PullRequest
0 голосов
/ 16 мая 2019

Я нашел это: Группировать DataFrame с 5-минутными интервалами . Это прекрасно работает, но моя проблема в том, что у меня есть второе значение, Altitude, которое важно, поэтому код повторного примера не работает.

Я хочу создать 10-минутное среднее значение для разных высот. Набор данных выглядит так:

enter image description here

Есть ли способ создать это с помощью groupby? С повторной выборкой я получаю это:

enter image description here

Проблема в том, что я также делаю среднее значение для высоты.

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете сформировать группу самостоятельно с помощью Series.dt.floor, что позволит вам группировать по ней в дополнение к высоте:

Образцы данных

import pandas as pd
import numpy as np
df = pd.DataFrame({'Timestamp': pd.date_range('2019-04-04', freq='1.345min', 
                                              periods=20),
                   'Altitude': [1, 2]*10,
                   'val1': np.random.randint(1, 10, 20)})

df.groupby([df.Timestamp.dt.floor('10min'), 'Altitude']).mean()

                                  val1
Timestamp           Altitude          
2019-04-04 00:00:00 1         5.000000
                    2         3.250000
2019-04-04 00:10:00 1         5.000000
                    2         4.333333
2019-04-04 00:20:00 1         6.500000
                    2         5.000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...