Я бы попробовал применить функцию, так что-то вроде этого:
def extractDayOfWeek(dateString):
...
df['DayOfWeek'] = df.apply(lambda x: extractDayOfWeek(x['Date'], axis=1)
Идея состоит в том, что вы отображаете каждую строку, извлекаете столбец «дата», а затем применяете свою собственную функцию для создания новая запись строки с именем «День»