EmpezarEmpieza gratis

Crea variables del día de la semana

Podemos crear variables de fecha y hora para añadir aún más información a nuestros modelos no lineales. La mayoría de los datos financieros incluyen fechas, que contienen mucha información: año, mes, día y, a veces, hora, minuto y segundo. Además, podemos obtener el día de la semana, el trimestre del año o el tiempo transcurrido desde algún evento (p. ej., informes de resultados).

Aquí solo obtendremos el día de la semana, ya que nuestro conjunto de datos no se remonta muy atrás. La propiedad dayofweek del índice datetime de pandas nos ayudará a obtenerlo. Después, convertiremos dayofweek en variables dummy con get_dummies() de pandas. Esto crea columnas para cada día de la semana con valores binarios (0 o 1). Eliminamos la primera columna porque se puede inferir a partir de las demás.

Este ejercicio forma parte del curso

Machine Learning para finanzas con Python

Ver curso

Instrucciones del ejercicio

  • Usa la propiedad dayofweek del índice de lng_df para obtener los días de la semana.
  • Aplica la función get_dummies a la variable de días de la semana, dándole el prefijo 'weekday'.
  • Establece el índice de la variable days_of_week para que sea el mismo que el índice de lng_df y poder combinar ambos.
  • Concatena los DataFrames lng_df y days_of_week en un único DataFrame.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Use pandas' get_dummies function to get dummies for day of the week
days_of_week = pd.get_dummies(lng_df.index.____,
                              prefix=____,
                              drop_first=True)

# Set the index as the original dataframe index for merging
days_of_week.index = lng_df.____

# Join the dataframe with the days of week dataframe
lng_df = pd.concat([lng_df, ____], axis=1)

# Add days of week to feature names
feature_names.extend(['weekday_' + str(i) for i in range(1, 5)])
lng_df.dropna(inplace=True)  # drop missing values in-place
print(lng_df.head())
Editar y ejecutar código