Я пытаюсь построить в Python фрейм данных, заполненный 1 и 0, в зависимости от числа в одном столбце:
Date Hour
2005-01-01 1
2005-01-01 2
2005-01-01 3
2005-01-01 4
Я хочу создать новые столбцы на основе числа в «Часе» и заполнить каждый столбец 1, если эта строка равна значению в «Часе», или 0, если нет.
Date Hour HE1 HE2 HE3 HE4
2005-01-01 1 1 0 0 0
2005-01-01 2 0 1 0 0
2005-01-01 3 0 0 1 0
2005-01-01 4 0 0 0 1
Я могу сделать это с помощью этого кода, но это занимает много времени:
for x in range(1,5):
_HE = 'HE' + str(x)
for i in load.index:
load.at[i, _HE] = 1 if load.at[i,'Hour']==x else 0
Мне кажется, что это отличное приложение (без каламбура) для .apply (), но я не могу заставить его работать правильно.
Как бы вы ускорили это?