Introdução
O método DataFrame.asfreq() na biblioteca pandas do Python é usado para converter uma série temporal para uma frequência especificada. Ele oferece uma maneira de preencher (pad) ou preencher retroativamente (backfill) valores ausentes. Ao aplicar este método a um DataFrame, podemos converter a série temporal para a frequência desejada, aumentar a frequência (upsample) e preencher quaisquer valores ausentes.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Converter Série Temporal para a Frequência Especificada
Podemos usar o método DataFrame.asfreq() para converter uma série temporal para uma frequência especificada diferente. Aqui está um exemplo:
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("Converting to a different frequency")
print(df.asfreq(freq='H'))
Este código cria um DataFrame com uma série temporal e, em seguida, converte-o para uma frequência horária. Ele imprime tanto o DataFrame original quanto o DataFrame convertido.
Aumentar a Frequência da Série Temporal usando o Método DataFrame.asfreq()
O método DataFrame.asfreq() também pode aumentar a frequência (upsample) de uma série temporal. Aqui está um exemplo:
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("Upsampling the timeseries")
print(df.asfreq(freq='50s'))
Neste código, criamos um DataFrame com uma série temporal e, em seguida, aumentamos sua frequência para 50 segundos. Ele imprime tanto o DataFrame original quanto o DataFrame com a frequência aumentada.
Aumentar a Frequência da Série Temporal e Preencher Valores Ausentes usando o Método DataFrame.asfreq()
O método DataFrame.asfreq() também pode preencher valores ausentes ao aumentar a frequência (upsample) de uma série temporal. Aqui está um exemplo:
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("Upsampling timeseries and filling values")
print(df.asfreq(freq='50s', fill_value=9.0))
Neste código, criamos um DataFrame com uma série temporal que possui valores ausentes. Em seguida, aumentamos sua frequência para 50 segundos e preenchemos os valores ausentes com o valor 9.0. Ele imprime tanto o DataFrame original quanto o DataFrame com a frequência aumentada e os valores preenchidos.
Aumentar a Frequência da Série Temporal e Preencher Valores Ausentes com Backfill usando o Método DataFrame.asfreq()
O método DataFrame.asfreq() também pode preencher valores ausentes com preenchimento retroativo (back fill) ao aumentar a frequência (upsample) de uma série temporal. Aqui está um exemplo:
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("Upsampling timeseries")
print(df.asfreq(freq='70s'))
print("Backward filling values")
print(df.asfreq(freq='70s', method='bfill'))
Neste código, criamos um DataFrame com uma série temporal que possui valores ausentes. Em seguida, aumentamos sua frequência para 70 segundos e preenchemos os valores ausentes com preenchimento retroativo. Ele imprime tanto o DataFrame com a frequência aumentada quanto o DataFrame com os valores preenchidos retroativamente.
Resumo
O método DataFrame.asfreq() no pandas é uma ferramenta útil para converter, aumentar a frequência (upsample) e preencher valores ausentes em dados de séries temporais. Ao especificar uma frequência desejada e parâmetros opcionais para preencher valores ausentes, podemos manipular dados de séries temporais para atender às nossas necessidades. Este método oferece flexibilidade e controle sobre como os dados de séries temporais são processados e analisados.