Método DataFrame.asfreq de Pandas

PandasPandasBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

El método DataFrame.asfreq() de la biblioteca pandas de Python se utiliza para convertir una serie temporal a una frecuencia especificada. Proporciona una forma de rellenar o retroalimentar valores faltantes. Al aplicar este método a un DataFrame, podemos convertir la serie temporal a la frecuencia deseada, submuestrear la frecuencia y rellenar cualquier valor faltante.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema inmediatamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) pandas(("Pandas")) -.-> pandas/DataCleaningGroup(["Data Cleaning"]) pandas(("Pandas")) -.-> pandas/AdvancedOperationsGroup(["Advanced Operations"]) pandas/DataCleaningGroup -.-> pandas/handle_missing_values("Handling Missing Values") pandas/AdvancedOperationsGroup -.-> pandas/time_series_analysis("Time Series Analysis") pandas/AdvancedOperationsGroup -.-> pandas/reshape_data("Reshaping Data") python/PythonStandardLibraryGroup -.-> python/date_time("Date and Time") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills pandas/handle_missing_values -.-> lab-68584{{"Método DataFrame.asfreq de Pandas"}} pandas/time_series_analysis -.-> lab-68584{{"Método DataFrame.asfreq de Pandas"}} pandas/reshape_data -.-> lab-68584{{"Método DataFrame.asfreq de Pandas"}} python/date_time -.-> lab-68584{{"Método DataFrame.asfreq de Pandas"}} python/data_collections -.-> lab-68584{{"Método DataFrame.asfreq de Pandas"}} python/data_analysis -.-> lab-68584{{"Método DataFrame.asfreq de Pandas"}} end

Convertir una serie temporal a la frecuencia especificada

Podemos utilizar el método DataFrame.asfreq() para convertir una serie temporal a una frecuencia especificada diferente. Aquí hay un ejemplo:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, 2.0, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Convirtiendo a una frecuencia diferente")
print(df.asfreq(freq='H'))

Este código crea un DataFrame con una serie temporal y luego la convierte a una frecuencia horaria. Imprime tanto el DataFrame original como el DataFrame convertido.

Submuestrear una serie temporal utilizando el método DataFrame.asfreq()

El método DataFrame.asfreq() también puede submuestrear la frecuencia de una serie temporal. Aquí hay un ejemplo:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, 2.0, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Submuestreando la serie temporal")
print(df.asfreq(freq='50s'))

En este código, creamos un DataFrame con una serie temporal y luego la submuestreamos a una frecuencia de 50 segundos. Imprime tanto el DataFrame original como el DataFrame submuestreamado.

Submuestrear una serie temporal y rellenar valores faltantes utilizando el método DataFrame.asfreq()

El método DataFrame.asfreq() también puede rellenar valores faltantes al submuestrear una serie temporal. Aquí hay un ejemplo:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, None, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print(df)
print("Submuestreando la serie temporal y rellenando valores")
print(df.asfreq(freq='50s', fill_value=9.0))

En este código, creamos un DataFrame con una serie temporal que tiene valores faltantes. Luego la submuestreamos a una frecuencia de 50 segundos y rellenamos los valores faltantes con el valor 9.0. Imprime tanto el DataFrame original como el DataFrame submuestreamado con los valores rellenados.

Submuestrear una serie temporal y retroalimentar valores faltantes utilizando el método DataFrame.asfreq()

El método DataFrame.asfreq() también puede retroalimentar valores faltantes al submuestrear una serie temporal. Aquí hay un ejemplo:

import pandas as pd

index = pd.date_range('1/1/2021', periods=4, freq='T')
series = pd.Series([0.0, None, None, 3.0], index=index)
df = pd.DataFrame({'Time': series})
print("Submuestreando la serie temporal")
print(df.asfreq(freq='70s'))
print("Retroalimentando valores")
print(df.asfreq(freq='70s', method='bfill'))

En este código, creamos un DataFrame con una serie temporal que tiene valores faltantes. Luego la submuestreamos a una frecuencia de 70 segundos y retroalimentamos los valores faltantes. Imprime tanto el DataFrame submuestreamado como el DataFrame con valores retroalimentados.

Resumen

El método DataFrame.asfreq() en pandas es una herramienta útil para convertir, submuestrear y rellenar valores faltantes en datos de series temporales. Al especificar una frecuencia deseada y parámetros opcionales para rellenar valores faltantes, podemos manipular los datos de series temporales para adaptarlos a nuestras necesidades. Este método ofrece flexibilidad y control sobre cómo se procesan y analizan los datos de series temporales.