Как агрегировать данные по «группам по часам» от даты и времени Python DataFrame? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть пандас dataFrame, состоящий из нескольких столбцов, каждый столбец был объединен по ключевой дате / времени. Мои столбцы datetime имеют такую ​​форму: время = "день-месяц-год час".

Я ищу, как агрегировать и взять среднее значение каждого значения каждого часа каждого дня.

1) Существует ли что-то простое, например, групповое. (Час)?

2) Если я подам заявку:

prevs = prevs.groupby('time').mean()

Принимает ли эта функция "группировать по" меньшую степень детализации (в моем случае это час)?

Вот пример моего кода для формата данных / времени:

prev = pd.read_csv('....csv',sep = ";")
prev = prev.drop(['cloud_cover', 'date', 'humidity', 'latitude_r', 'longitude_r', 'pressure', 'wind', 'wind_dir'],axis=1).dropna()
prev['time'] = prev['time'].astype('datetime64[ns]')
prev['time'] = prev['time'].apply(lambda x: x.strftime('%m-%d-%Y %H'))
prev.columns = ['temperature_weatherbit','time'] 

1 Ответ

0 голосов
/ 03 июля 2019

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

df['hour'] = df.time.dt.hour
df.groupby(by=["hour"]).your_column.mean()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...