Я пытаюсь визуализировать фактическое количество часов, проведенных ребенком в детском саду, по сравнению с запланированными часами. Заголовок фрейма данных, который у меня есть, выглядит следующим образом:
SchoolId WorkGroupId Date ChildId ChildFirstName Schedule-in
168 159 401 2019-08-05 54292 Jamie 07:00:00
179 159 403 2019-08-05 23692 Chloe 07:00:00
406 159 401 2019-08-08 59804 Esther 07:50:00
408 159 401 2019-08-08 54292 Jamie 07:00:00
419 159 403 2019-08-08 23692 Chloe 07:00:00
Schedule-out Check-in Check-out FreeTime Sick
168 15:00:00 07:51:00 14:54:00 0 0
179 15:00:00 08:10:00 14:55:00 0 0
406 17:15:00 08:31:00 16:50:00 0 0
408 15:00:00 07:57:00 14:54:00 0 0
419 15:00:00 07:57:00 15:20:00 0 0
Мой код выглядит следующим образом:
import pandas as pd
import numpy as np
import scipy as scipy
df = pd.read_excel('$$Visualization rapport_159_2019-10-19.xls', header=1)
df.columns = df.columns.str.replace("[$$]", "")
#freebutcheckindf = df[(df['Check-in'] != '-') & (df['FreeTime'] == 1)] #Planned free but check in anyway
fdf = df[(df['Check-in'] != '-') & (df['FreeTime'] == 0) & (df['Schedule-in'] != '-') & (df['Schedule-out'] != '-') & (df['Check-out'] != '-')]
print(fdf.head(5))
Что я хочу знать, так это группировать по дням недели для анализа все дни неделитак что я могу видеть, сколько часов в среднем запланировано (на основе расписания в и из) каждый понедельник, вторник и т. д. в определенный час и каковы фактические часы (в зависимости от времени заезда и выезда). Я считаю, что правильный способ - сгруппировать по столбцу Дата:
week_df = df.groupby(df['Date'].dt.weekday_name)
Однако я как бы застрял на том, как идти отсюда. Я в основном хочу 5 графиков, по одному на каждый день недели с часами дня на оси х и фактическим количеством запланированных детей против фактического числа проверенных детей.
Это мой первыйоставьте сообщение извините, если форматирование неясно или вопрос недостаточно ясен.