Я хочу сгруппировать все строки в 24 часа (все строки лежат от 1 до 24, что означает тип временного интервала каждой строки (от 0 до 24)). Например, 11:47:43 относятся к типу 11, 21:17:43 относятся к типу 21 и т. Д. Это часть моего фрейма данных, который я хочу сгруппировать по 24-часовому интервалу.

enter image description here

Я пробовал использовать python group by method, но у меня это не сработало. Это то, что я пробовал.

df.groupby(pd.Grouper(key='time',freq='24h'))
0
kevin 23 Июл 2020 в 14:24
Немного неясно, вы хотите сгруппировать все строки по значениям часов или вы хотите просто добавить новый столбец с указанием часа строки?
 – 
Ranika Nisal
23 Июл 2020 в 14:38
"не работает" - это не описание проблемы. Пожалуйста, отредактируйте свой вопрос, указав, что произошло и почему это не то, что вы ожидали / хотели.
 – 
thebjorn
23 Июл 2020 в 14:39
Спасибо за ваш ответ. Я хочу добавить новый столбец и указать тип времени каждой строки (группировать от 0 до 24).
 – 
user13419531
23 Июл 2020 в 14:41

1 ответ

Лучший ответ

Сначала вы должны изменить свой столбец времени на объект datetime, используя

import pandas as pd

df['time'] = pd.to_datetime(df['time'])

Впоследствии вы можете использовать

df['hour_stamp'] = df['time'].dt.hour

Чтобы извлечь количество часов.

0
Ranika Nisal 23 Июл 2020 в 14:51