В одном из столбцов, если он отсутствует, как я могу заполнить его 0 вместо того, чтобы оставить его пустым?
MRE:
df = pd.DataFrame({"day":[3, 3, 3, 3, 3, 3, 3],
"hour":[15, 15, 15, 15, 19, 20, 21],
"location":["A", "A", "B", "C", "D", "A", "B"],
"numbers": [323, 2354, 124, 56, 45, 11, 44]})
df.pivot_table(index="location",
columns=["day", "hour"],
values = "numbers",
fill_value=0,
aggfunc="count").unstack().to_frame()
Какие выходные данные:
0
day hour location
A 2
B 1
15 C 0
D 0
A 0
B 0
19 C 0
D 1
A 1
B 0
3 20 C 0
D 0
и т. Д. Я просто оставил пробел между ними для лучшей читаемости.
Как видите, час идет с 15 до 19. Я хочу включить часы = 16, 17, 18, которые все местоположения и все строки в столбце 0 как 0.
Таким образом, желаемый результат будет:
0
day hour location
A 2
B 1
15 C 0
D 0
A 0
B 0
16 C 0
D 0
A 0
B 0
17 C 0
D 0
A 0
B 0
18 C 0
D 0
A 0
B 0
19 C 0
D 1
A 1
B 0
3 20 C 0
D 0
Как этого добиться? Заранее спасибо.