Dados de séries temporais de pandas Index de uma string para float

Alguém saberia como converter a saída da string em float? O que estou tentando fazer é criar frameworks de dados separados para "Month" e "day of the week" base no índice do registro de data e hora. O df.index.strftime produz uma string, mas eu preciso de um float base no valor numérico dos meses (0-11 ou 1-12 para um jan a dezembro) e um valor numérico do dia da semana (0-6 ou 1-7 de domingo a sábado)

 from numpy.random import randint import pandas as pd # Create a df with a date-time index with data every 6 hours rng = pd.date_range('1/5/2018 00:00', periods=5, freq='6H') df = pd.DataFrame({'Random_Number':randint(1, 10, 5)}, index=rng) # Getting different time information in the columns df['month'] = df.index.strftime('%b') df['Day_of_week'] = df.index.strftime('%a') df