после преобразования в datetime pd.to_datetime(df['date'])
вы можете создать отдельный столбец с указанием часа, например, df['Hour'] = df.date.dt.hour
, а затем отсортировать по нему df.sort_values('Hour')
РЕДАКТИРОВАТЬ:
Как выхотите отсортировать по времени, вместо того чтобы использовать час, поместите часть метки времени в столбец «время».Чтобы получить время между 9 и 10, вы можете отфильтровать по часу == 9, а затем отсортировать по столбцу времени, как показано ниже
df['date'] = pd.to_datetime(df['date'])
#put the timestamp part of the datetime into a separate column
df['time'] = df['date'].dt.time
#filter by times between 9 and 10 and sort by timestamp
df.loc[df.date.dt.hour==9].sort_values('time')