Построение данных временных рядов путем группировки на уровне часов и дней - PullRequest
0 голосов
/ 05 февраля 2020

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

Time Stamp                        Ride
2018-04-07 07:07:17                1
2018-04-07 07:06:12                1

1 Ответ

0 голосов
/ 05 февраля 2020

Есть несколько способов сделать это. Сначала давайте получим данные:

import pandas as pd
df = pd.DataFrame({'Time Stamp': ['2018-04-07 07:07:17', '2018-04-07 07:06:12'], 'Ride': [1, 1]})
df['Time Stamp'] = pd.to_datetime(df['Time Stamp'])

Вы можете использовать groupby с Grouper, который возвращает серию:

df.groupby(pd.Grouper(key='Time Stamp', freq='1D')).Ride.sum()

# Time Stamp
# 2018-04-07    2
# Freq: D, Name: Ride, dtype: int64

Или вы можете поместить метку времени в индекс и используйте resample, который возвращает фрейм данных:

df.set_index('Time Stamp').resample('1D').sum()

#               Ride
# Time Stamp    
# 2018-04-07    2
...