def getWd(d):
    d.isocalendar()[1], d.weekday()

def getH(t):
    return t.hour
mydf['hour'] = zip(*df['mytime'].map(getH))
mydf['weekday'], mydf['weeknum'] = zip(*df['mydate'].map(getWd))
Добавить несколько столбцов в Pandas Dataframe из функции