Sumar meses a timestamps

Forums

Hola Daniel,

una pregunta al respecto de lo que comentábamos en la última clase sobre timedeltas, tengo un índice de tipo date_range que contiene el último día de cada mes (frecuencia mensual, por lo tanto) y me gustaría añadir un nuevo registro cuyo índice siguiese con el patrón (y que contuviera el último día del mes del mes siguiente), pero no lo consigo. Sumando un timedelta lo único que puedo hacer es sumar 4 semanas o 30 días... y ninguna de estas opciones funciona. ¿Cómo se puede hacer?

Un saludo

Alfredo

Hola Alfredo,

es bastante fácil, en realidad. En todo caso te voy a proponer dos opciones para lo que quieres:

Sumar un offset

La primera opción -que responde directamente a tu pregunta- es considerar el último índice y añadirle un mes ¿cómo? Con la función pd.DateOffset(months = x, days = y, hours = z, etc.). Por ejemplo, si el último índex es:

Último index

...puedes añadirle un mes con la siguiente instrucción:

Adición de un mes a un Timestamp

Creación del nuevo índice a partir del último valor disponible

Y mi segunda opción: imagina que quieres añadir, no un nuevo registro, sino todas las predicciones para los siguientes... 12 meses. En este caso puedes generar un date_range dando como "semilla" el último valor conocido, especificando frecuencia mensual, y eliminando el primer valor de la estructura final:

Generación de un date_range

Espero que te sirvan...

Un saludo

Daniel

Enviado por Alfredo Gules el Mar, 04/02/2020 - 09:27