Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.
La función Pandas dataframe.asfreq()
se utiliza para convertir TimeSeries a la frecuencia especificada. Esta función proporciona opcionalmente un método de llenado para rellenar/rellenar los valores faltantes. Devuelve los datos originales conforme a un nuevo índice con la frecuencia especificada. el remuestreo es más apropiado si es necesaria una operación, como el resumen, para representar los datos en la nueva frecuencia.
Sintaxis: DataFrame.asfreq(freq, method=Ninguno, how=Ninguno, normalize=False, fill_value=Ninguno)
Parámetros:
freq: objeto DateOffset o método de string
: método a usar para llenar agujeros en series reindexadas
how: solo para PeriodIndex, consulte PeriodIndex.asfreq
normalize: si restablecer el índice de salida a medianoche
fill_value: valor a usar para valores faltantes, aplicado durante sobremuestreo (tenga en cuenta que esto no llena los NaN que ya estaban presentes).Devoluciones: convertido: tipo de persona que llama
Ejemplo n.º 1: desmuestrear una serie de datos de tiempo de frecuencia semanal a frecuencia diaria
# importing pandas as pd import pandas as pd # Creating a date_time form index index_values = (pd.date_range('1/1/2000', periods=3,freq='W')) # Creating a series using 'index_values' # Notice, one of the series value is nan value series = (pd.Series([0.0,None,2.0], index=index_values)) # Creating dataframe using the series df=pd.DataFrame({"Col_1":series}) # Print the Dataframe df
Ahora desmuestree estos datos muestreados semanalmente en datos muestreados diariamente. De forma predeterminada, los contenedores recién creados tendrán un valor nan. Por lo tanto, use el parámetro fill_value para llenar todos los contenedores recién creados con un valor proporcionado.
# unsampling and providing a fill value = 9.0 df.asfreq(freq ='D', fill_value = 9.0)
Producción :
Nota: esto no llena los NaN que ya estaban presentes antes del muestreo.
Ejemplo n.º 2: Desmuestree datos con marca de tiempo de un minuto en contenedores de 30 segundos. Primero cree una serie con 5 marcas de tiempo de un minuto.
# importing pandas as pd import pandas as pd # Creating a date_time form index index_values = (pd.date_range('1/1/2000', periods=5,freq='T')) # Creating a series using 'index_values' # Notice, one of the series value is nan value series = (pd.Series([0.0,1.0,None,3.0,4.0], index=index_values)) # Creating dataframe using the series df=pd.DataFrame({"Col_1":series}) # Print the Dataframe df
Ahora desmuestreando en contenedores de 30 segundos y proporcionando un valor de relleno de 100.0
# unsampling and providing a fill value of 100.0 df.asfreq(freq ='30S', fill_value = 100.0)
Producción :
Nota: el valor de Nan presente antes del desmuestreo no se completará
Publicación traducida automáticamente
Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA