def insert_missing_hours(df):
    return df.set_index('hour').reindex([0, 6, 12, 18]).reset_index()
df.groupby(group_hours).apply(insert_missing_hours).reset_index(drop=1)
Модульная арифметика в python для итерации кадра данных pandas