Datos de series temporales en pandas

En este tutorial, aprenderá cómo volver a muestrear datos de series temporales utilizando Pandas. Puedes ver el video completo de este tutorial en la parte inferior de este blog .

¿Qué es esta idea de remuestreo? Esto está relacionado con los datos de series temporales y lo que haremos es cambiar la frecuencia con la que se informan esos datos. Por ejemplo, cambiar el valor anual a mensual o semanal, o cambiar los datos por horas a diarios. En resumen, estamos cambiando el nivel en la jerarquía.

Esto se puede usar por varias razones, como obtener tendencias más confiables , tamaños de muestra y estacionalidad . En algunos informes, tendrá más sentido si usamos algún nivel de la jerarquía frente a otro.

Además, el remuestreo puede ayudar si tiene diferentes fuentes de datos y necesita realizar la combinación de datos de series temporales. Esto también ayudará cuando se trate de un desajuste en la jerarquía .

Datos de series temporales en pandas

Para desglosar esto aún más, tenemos muestreo descendente y muestreo ascendente.

La reducción de muestreo consiste en disminuir la frecuencia de los informes . Puede ser cosas como convertir de un segundo a una hora para tener menos valores o reducir la muestra de mes a trimestre.

Por otro lado, el muestreo ascendente es para aumentar la frecuencia de los informes desde el nivel del mes hasta el nivel del día . Tendremos más ejemplos de esto más adelante.

Datos de series temporales en pandas

Tabla de contenido

Cómo volver a muestrear datos de series temporales usando Pandas

¿Cómo vamos a hacer esto en Pandas?

En primer lugar, cambiaremos el índice a nuestra columna de datos de series temporales . Luego, podemos aumentar la muestra usando la interpolación, que completará los valores, y podemos reducir la muestra para acumular agregando los valores.

Datos de series temporales en pandas

Vayamos a Jupyter Notebook Python y veamos esto con Pandas.

Para empezar, usaremos Pandas escribiendo import pandas as pd , seguido de import seaborn as sns para visualizarlo e import matplotlib.pyplot as plt para personalizar la visualización de Seaborn .

Lo siguiente que debe hacer es obtener los datos de los datos de importación de vega_datasets . Es un buen lugar para obtener fuentes de muestra. Además, obtendremos la biblioteca sp = data.sp500 ( ) y sp.head ( ) .

Datos de series temporales en pandas

Aquí están nuestros datos hasta ahora. Tenemos las devoluciones diarias y el precio de cada día.

Datos de series temporales en pandas

Para establecer la columna de índice a fecha, escriba sp.set_index(['date'], inplace=True) y luego llame a sp.head nuevamente.

Datos de series temporales en pandas

Uso de sobremuestreo para obtener valores

Entonces, para tener más valores, usemos upsampling. Como tenemos los datos de todos los días, podemos bajar a la hora usando la función más simple que es sp [['price']]. resample ('H').ffill ( ) , luego ejecútelo. H representa la hora, M el mes, D el día, etc. Puede obtener más información sobre esto en la documentación de Pandas .

Como podemos ver, el 1 de enero a la medianoche, el precio es de 1394,46, al igual que las horas siguientes desde la 1:00 AM hasta las 4:00 AM. Otro ejemplo es el 2 de enero, donde el precio de cierre es 1366,42.

Datos de series temporales en pandas

Hay otras formas de hacer esto incluso si el valor no está disponible a nivel de hora. Además, hay formas más sofisticadas que solo hacer un relleno hacia adelante . Para nuestro ejemplo, lo que hicimos es la forma básica de realizar una interpolación de muestreo ascendente.

A continuación, vayamos a la reducción de muestreo escribiendo avg_month = sp [['price]].resample ('M').mean ( ) , luego avg_month.head ( ) y ejecútelo para verificar.

Como se ilustra, podemos ver el último día de cada mes y el precio promedio. Podemos disminuir las muestras para que tengan menos valores, o lo que llamamos reducción de tamaño.

Datos de series temporales en pandas

Para visualizar esto, escribamos re-plot las dimensiones que se dibujan. Luego, seguido de sns.lineplot . El diagrama de líneas funciona mejor con un eje X más largo, mientras que el valor Y es el precio mensual promedio.

Para ver el precio promedio del mes trazado, ejecutemos esto.

Datos de series temporales en pandas

Nuevamente, hay muchas maneras diferentes en que podemos hacer esto. Por ejemplo, si queremos saber el precio más bajo por trimestre, todo lo que tenemos que hacer es escribir quarter_low , luego quarter_low.head para ejecutarlo.

Entonces, ahora podemos ver el valor trimestral más bajo encontrado en cada trimestre. Así es como se hace un remuestreo.

Datos de series temporales en pandas


Manejo de datos faltantes en Python usando el método de interpolación MultiIndex en Pandas para conjuntos
de datos jerárquicos o de niveles múltiples en Pandas con ProfileReport |
Python en LuckyTemplates

Conclusión

Para colmo, Pandas está realmente diseñado para remuestreo y datos de series temporales . Si está trabajando con datos de series temporales y tiene diferentes granularidades, el remuestreo puede ser muy útil.

Además, asegúrese de leer la documentación de Pandas sobre el método de remuestreo para aprender muchas formas diferentes de hacerlo. Analizamos los básicos, pero puede hacer cosas como cada dos semanas, el último día hábil del mes y más opciones para volver a muestrear.

Mis mejores deseos,

monte george

Leave a Comment

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.