Manipulando dados ausentes em Python usando o método de interpolação

A interpolação é um método para gerar pontos entre pontos dados. Neste tutorial, mostrarei como você pode usar a interpolação para lidar com dados ausentes no Python. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Em Python, a interpolação é uma técnica usada principalmente para imputar valores ausentes no quadro de dados ou série durante o pré-processamento de dados. Demonstrarei como você pode usar esse método para estimar pontos de dados ausentes em seus dados usando Python no LuckyTemplates.

Se olharmos para nossos dados originais aqui abaixo representados no gráfico superior, podemos ver que há muitos buracos ou dados ausentes que não podemos representar graficamente porque não há nada lá. Mas no gráfico inferior, podemos ver que fizemos algumas estimativas para descobrir como seriam esses dados. Os dados reais são representados em azul claro, enquanto os dados interpolados estão em azul escuro.

Manipulando dados ausentes em Python usando o método de interpolação

Existem alguns tipos diferentes de estimativa que faremos. Faremos uma interpolação linear, uma interpolação mais próxima e, em seguida, uma interpolação de tempo ponderado. Cada um deles nos dará resultados ligeiramente diferentes.

O exemplo acima está usando a interpolação de tempo ponderada, que é quase igual à interpolação linear, com a exceção de que é ponderada com base nos dias. Linear estimou os dados com base na inclinação entre esses dois pontos de dados. A Interpolação mais próxima tem um tipo de estimativa mais plana, como você pode ver abaixo, onde olhamos para o valor mais próximo e conseguimos estimar o que existe entre esses dois.

Manipulando dados ausentes em Python usando o método de interpolação

Então, vamos pular para um notebook Jupyter e trazê-lo.

Índice

Como usar a interpolação para lidar com dados ausentes em Python

Você pode usar o Editor de Scripts para fazer o script de tudo, mas é mais fácil. Você obtém mais feedback em seu notebook Jupyter. Então, vamos documentar o que estamos fazendo. Quando copiarmos e colarmos isso em nosso Python Script Editor, ele ficará muito limpo e claro.

Vamos importar as bibliotecas que queremos e vamos importar Pandas e salvá-los como uma variável PD. Vamos importar o Numpy e salvá-lo como a variável NP. O Pandas é uma biblioteca de manipulação de dados, enquanto o Numpy também nos permite manipular dados e nos dá um pouco de álgebra linear.

Queremos trazer nosso conjunto de dados e vamos salvá-lo como uma variável df . E vamos apenas usar a variável Pandas ( pd ) e usar a função read.csv . Em seguida, vamos copiar e colar onde esse arquivo existe em nosso PC. O meu está no meu diretório de trabalho, então tudo que preciso fazer é escrever machines.csv e encapsulá-lo entre parênteses.

Manipulando dados ausentes em Python usando o método de interpolação

E vamos dar uma olhada em nosso conjunto de dados apenas usando a variável df. Você pode ver que isso vai de 1º de 2022 até o dia 25. São dias consecutivos até o dia 15, e depois faltam quatro dias no dia 19, faltam três dias quando chegamos no dia 22 e faltam dois dias no dia 25.

Os dias que são ignorados não são dados perdidos. Isso não é apenas dados em nosso conjunto de dados. O que vamos lidar são os dados ausentes, que você vê representados com esses NaN ou sem valores.

Agora que temos nosso conjunto de dados, vamos usar nossos diferentes tipos de interpretação e salvá-los como colunas diferentes. Podemos ver que temos object , que é representado por um texto, e também temos um float .

Manipulando dados ausentes em Python usando o método de interpolação

Vou isolar a coluna Date usando a notação de colchetes. Então, vou usar equals para atribuir isso. Vou usar a variável pd e, em seguida, estou apenas usando a função to_datetime. E então, fecharei essa função com parênteses e adicionarei a coluna Data.

Manipulando dados ausentes em Python usando o método de interpolação

Podemos ver que agora temos Date como o tipo de dados adequado.

Manipulando dados ausentes em Python usando o método de interpolação

Temos aqui um índice, que é indicado pelos números de 1 a 18. Quando fizermos o Linear, ele estará usando esses números para criar uma conexão linear entre os pontos de dados existentes. Mas também queremos poder usar uma interpolação ponderada pelo tempo, que analisa o tempo e nos fornece os resultados com base nos dias reais. Queremos definir a coluna Data como o índice, para que possamos utilizá-la.

Vou usar minha variável de quadro de dados (df) e fazer set_index. Precisamos passar um parâmetro chamado inplace para garantir que ele seja passado permanentemente. Então, vou usar inplace igual a true e, em seguida, vou apertar shift e enter. E com isso, você pode ver que o índice numérico sumiu, e temos um índice Datetime.

Manipulando dados ausentes em Python usando o método de interpolação

Agora, podemos começar a construir as colunas que queremos. Vamos construir uma coluna onde estamos interpolando o ponto de dados mais próximo, que preencherá esses valores ausentes com o valor mais próximo. Queremos criar uma coluna chamada users_nearest e queremos atribuí-la a uma coluna Users .

Queremos criar uma coluna chamada user_nearest e queremos atribuí-la a uma coluna de usuário. E agora que temos essa coluna isolada, podemos usar a função de interpolação e podemos pressionar shift-tab para ver quais parâmetros essa função aceita. Existem muitos tipos diferentes de métodos.

Você pode ver que o padrão é linear e, se quiser ver todos os métodos diferentes, há informações nele. Você pode abri-lo totalmente e há muitas informações aqui que lhe darão muitos insights. Mas é sempre melhor ir até o site do Pandas e ver quais são os diferentes tipos de interpolações.

Manipulando dados ausentes em Python usando o método de interpolação

Agora vamos passar o método que queremos, e vamos usar o método Nearest Interpolation. Tudo o que precisamos fazer é executar isso e você pode ver que uma coluna é criada. Se olharmos para essa linha em particular, podemos ver isso como um valor ausente. E você pode ver que foi interpolado onde pegou o valor mais próximo e o adicionou aqui. Como você pode ver, não temos mais valores ausentes para essa linha específica.

Manipulando dados ausentes em Python usando o método de interpolação

Agora, vamos copiar isso duas vezes e mudar o nome dessas colunas para user_linear e user_time . Também mudaremos os métodos para corresponder aos nossos títulos. Podemos deslocar e inserir, e você pode ver que criamos três colunas com base em diferentes tipos de métodos de interpolação.

Manipulando dados ausentes em Python usando o método de interpolação

Em seguida, quero criar mais uma coluna específica que nos permita indicar quais delas estão vazias, como um sinalizador em nossos dados. Vamos usar o Numpy para isso.

Então, vamos apenas criar uma nova coluna chamada df , e então vamos chamá-la de flag. Vamos atribuir isso com esse sinal de igual. Então, vamos usar np , que é nossa variável Numpy. E então, vamos usar a função where , que é uma função condicional. Definimos a condição e então obtemos um exemplo para verdadeiro e falso. Usamos double equals, que é igual em Python. Quando for verdadeiro, queremos dizer Missing Data . A outra opção será Data .

Manipulando dados ausentes em Python usando o método de interpolação

Podemos usar essa bandeira em nosso visual. Quando estivermos em seu bloco de anotações, vá para transformar e clique em executar o script Python. Agora, existem algumas etapas diferentes. Precisamos fazer isso funcionar no ambiente do LuckyTemplates .

Temos todos os nossos códigos aqui e precisamos adicionar mais algumas etapas. Um, quando estamos lidando com data-hora, precisamos adicionar um parâmetro de erro que diz, se tivermos algum erro, você pode coagir ou tentar alterá-lo. Então, vou colocar aqui errors equal , e depois parênteses coagir . Em seguida, precisamos reatribuir a variável do conjunto de dados como df.

Manipulando dados ausentes em Python usando o método de interpolação

Quando clicarmos em OK, obteremos outro erro e é isso que precisamos fazer para corrigir isso. Se passarmos por nossas etapas, precisamos não ter nossa data formatada. Vamos deixar o Python trabalhar com as datas porque as datas são exclusivas para cada plataforma. A primeira coisa que precisamos fazer é nos livrarmos do Changed Type .

Manipulando dados ausentes em Python usando o método de interpolação

Não temos a coluna Data porque a data é o índice. Então, voltamos ao nosso script Python e apenas redefinimos nosso índice, df.reset_index . Dizemos que queremos redefini-lo para o bypass da coluna Date nesse parêntese e, em seguida, queremos fazer inplace = true .

Manipulando dados ausentes em Python usando o método de interpolação

E agora, temos a data e todos os nossos outros tipos de dados estão completos.

Manipulando dados ausentes em Python usando o método de interpolação

Se colocarmos isso em um visual, é assim que fica em três métodos de interpolação diferentes ao lidar com dados ausentes em Python.

Manipulando dados ausentes em Python usando o método de interpolação


Taxas de câmbio no LuckyTemplates: lidando com dados ausentes
Scripts em Python em relatórios de dados do LuckyTemplates
Como carregar conjuntos de dados de amostra em Python

Conclusão

Você aprendeu neste tutorial três métodos de interpolação para lidar com dados ausentes em Python . Discutimos os métodos de interpolação de tempo linear, mais próximo e ponderado.

Espero que você ache isso útil e aplique em seu próprio trabalho. Você pode assistir ao tutorial em vídeo completo abaixo para obter mais detalhes e verificar os links abaixo para obter mais conteúdo relacionado ao tratamento de dados ausentes em Python.

Tudo de bom!

Gaelim

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.