У меня есть df кадра данных со столбцом datetime. Общий фрейм данных содержит 20 миллионов строк, для удобства я просто беру 3 строки.
df = pd.DataFrame({})
df['Date'] = pd.to_datetime(np.arange(0,3), unit='h', origin='2018-08-01 00:00:00')
Date
0 2018-08-01 00:00:00
1 2018-08-01 01:00:00
2 2018-08-01 02:00:00
С даты и времени я хотел бы создать новые столбцы '00_hrs', '01_hrs', '02_hrs', (et c. До '23_hrs'), где значения равны 0 или 1. 1, когда час данного datetime применим к часу, указанному в столбце, и 0 в противном случае.
Результат должен выглядеть так:
Date 00_hrs 01_hrs 02_hrs ... 23_hrs
0 2018-08-01 00:00:00 1 0 0 0
1 2018-08-01 01:00:00 0 1 0 0
2 2018-08-01 02:00:00 0 0 1 0