Отметка времени доступа, сгруппированная с полем и объединенная с полем скорости - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть данные Pandas временного ряда, которые в основном состоят из скоростей, даты и времени записи и датчика, где эта запись была зарегистрирована. См. Изображение ниже:

s

Поля «sensor_id» и «timestamp5» сгруппированы, а «speed», «lane» и «max_speed»"были агрегированы.

Проблема в том, что я хочу использовать столбец timestamp5 для выполнения линейной регрессии, и по какой-то причине не могу получить доступ к этому полю (это возвращает ключевую ошибку).

Вот код:

df_parcial['timestamp5'][0] = df_parcial['datetime'].dt.floor('5min')


df_aggr = df_parcial.groupby(by=['sensor_id', 'timestamp5']).agg({'speed': ['count', 'min', 'max', 'mean', lambda x:
                                                                            x.std(ddof=0), 'sum'],
                                                                   'lane': 'max',
                                                                   'max_speed': 'max'})

Итак, df_aggr.head() возвращает изображение, которое я опубликовал по этому вопросу.

1 Ответ

1 голос
/ 02 ноября 2019

timestamp5 теперь является индексом. Отметьте df_aggr.columns и df_aggr.index.

Вам нужно только DataFrame.reset_index:

df_aggr =( df_parcial.groupby(by=['sensor_id', 'timestamp5'])
                     .agg({'speed': ['count', 'min', 'max', 'mean', lambda x:x.std(ddof=0), 'sum'],
                           'lane': 'max',
                           'max_speed': 'max'})
                     .reset_index()  )
...