Dados de séries temporais em pandas

Neste tutorial, você aprenderá como reamostrar dados de séries temporais usando Pandas. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog .

O que é essa ideia de reamostragem? Isso está relacionado a dados de séries temporais e o que faremos é alterar a frequência com que esses dados são relatados. Por exemplo, alterar o valor anual para mensal ou semanal ou alterar os dados horários para diários. Em suma, estamos mudando o nível na hierarquia.

Isso pode ser usado por vários motivos, como obter tendências mais confiáveis , tamanhos de amostra e sazonalidade . Em alguns relatórios, fará mais sentido se usarmos algum nível da hierarquia em vez de outro.

Além disso, a reamostragem pode ajudar se você tiver fontes de dados diferentes e precisar realizar a junção de dados de séries temporais. Isso também ajudará ao lidar com uma incompatibilidade na hierarquia .

Dados de séries temporais em pandas

Para detalhar ainda mais, temos o downsampling e o upsampling.

Downsampling é diminuir a frequência de relatórios . Podem ser coisas como converter de um segundo para uma hora para ter menos valores ou diminuir a amostragem mês a trimestre.

Por outro lado, upsampling é aumentar a frequência de relatórios do nível do mês para o dia . Teremos mais exemplos disso mais tarde.

Dados de séries temporais em pandas

Índice

Como reamostrar dados de séries temporais usando Pandas

Como vamos fazer isso no Pandas?

Em primeiro lugar, vamos alterar o índice para nossa coluna de dados de série temporal . Em seguida, podemos aumentar a amostragem usando interpolação, que preencherá os valores, e podemos reduzir a amostragem para acumular agregando os valores.

Dados de séries temporais em pandas

Vamos para o Jupyter Notebook Python e verificar isso com o Pandas.

Para começar, usaremos o Pandas digitando import pandas as pd , seguido de import seaborn as sns para visualizá-lo e import matplotlib.pyplot as plt para personalizar a visualização do Seaborn .

A próxima coisa a fazer é obter os dados de dados de importação vega_datasets . É um bom lugar para obter amostras de fontes. Além disso, vamos obter sp = data.sp500 ( ) e sp.head ( ) library .

Dados de séries temporais em pandas

Aqui estão nossos dados até agora. Temos os retornos diários e o preço para cada dia.

Dados de séries temporais em pandas

Para definir o índice para a coluna de data, digite sp.set_index(['date'], inplace=True) e chame sp.head novamente.

Dados de séries temporais em pandas

Usando upsampling para obter valores

Então, para termos mais valores, vamos usar o upsampling. Como temos os dados de todos os dias, podemos ir até a hora usando a função mais simples que é sp [['preço']]. resample ('H').ffill ( ) e execute-o. H significa hora, M para mês, D para o dia e assim por diante. Você pode aprender mais sobre isso na documentação do Pandas .

Como podemos ver, no dia 1º de janeiro à meia-noite, o preço é 1394,46, o mesmo que nas horas seguintes, da 1h às 4h. Outro exemplo é em 2 de janeiro, onde o preço de fechamento é 1.366,42.

Dados de séries temporais em pandas

Existem outras maneiras de fazer isso, mesmo que o valor não esteja disponível no nível da hora. Além disso, existem maneiras mais sofisticadas do que apenas fazer um preenchimento direto . Para o nosso exemplo, o que fizemos foi a maneira básica de fazer a interpolação de upsampling.

Em seguida, vamos para o downsampling digitando avg_month = sp [['price]].resample ('M').mean ( ) , avg_month.head ( ) e execute-o para verificar.

Conforme ilustrado, podemos ver o último dia de cada mês e o preço médio. Podemos diminuir as amostras para ter menos valores, ou o que chamamos de downsizing.

Dados de séries temporais em pandas

Para visualizar isso, vamos digitar re-plotar as dimensões desenhadas. Em seguida, seguido por sns.lineplot . O gráfico de linha funciona melhor com um eixo X mais longo, enquanto o valor Y é o preço médio mensal.

Para ver o preço médio do mês plotado, vamos executar isso.

Dados de séries temporais em pandas

Novamente, há muitas maneiras diferentes de fazer isso. Por exemplo, se quisermos saber o preço mais baixo por trimestre, tudo o que precisamos fazer é digitar quarter_low e, em seguida, quarter_low.head para executá-lo.

Então aí já podemos ver o menor valor trimestral encontrado em cada trimestre. É assim que você faz uma reamostragem.

Dados de séries temporais em pandas


Lidando com dados ausentes em Python usando o método de interpolação
MultiIndex em Pandas para
conjuntos de dados de vários níveis ou hierárquicos em Pandas com ProfileReport | Python no LuckyTemplates

Conclusão

Para finalizar, o Pandas é realmente construído para reamostragem e dados de séries temporais . Se você estiver trabalhando com dados de séries temporais e tiver granularidades diferentes, a reamostragem pode ser muito útil.

Além disso, certifique-se de ler a documentação do Pandas sobre o método resample para aprender várias maneiras diferentes de fazer isso. Vimos os básicos, mas você pode fazer coisas como quinzenalmente, o último dia útil do mês e mais opções de reamostragem.

Tudo de bom,

Jorge Monte

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.