Os pandas comparam dois quadros de dados de linha por linha

Os pandas comparam dois quadros de dados de linha por linha
Um DataFrame é uma estrutura bidimensional feita de linhas e colunas nas quais os dados são mantidos em formato tabular. É flexível em termos de comprimento e diversos dados tabulares. Cálculos aritméticos podem ser feitos na fila, bem como nos rótulos da coluna. Ao lidar com os quadros de dados de pandas, pode ser necessário determinar se dois quadros de dados são equivalentes ou não.

Pand como método de comparação

Nos pandas, o método de comparação exibe as variações entre dois quadros de dados. Este método compara dois quadros de dados, Row por fila e coluna por coluna. Em seguida, exibe as diferenças próximas uma da outra. A função de comparação só pode comparar os quadros de dados de uma estrutura semelhante, com os mesmos nomes de linha e colunas e tamanhos iguais.

Segue -se a seguinte sintaxe:

Vamos discutir brevemente os parâmetros.

O "DF_2" é qualquer dataframe para comparação. O “Align_axis” Especifica os eixos de comparação, com 0 para linhas e 1 para colunas como o valor padrão. O “Keep_Shape” O parâmetro é um valor booleano. Colocar isso como "verdadeiro" proíbe qualquer linha ou coluna de ser eliminada. Para o valor padrão "false", ele compara colunas e linhas com todos os atributos que são iguais para os dois quadros de dados. Outro argumento booleano é “Keep_equal”. Os dois quadros de dados exibem valores iguais. Quando isso é definido como "true", exibe as posições para os dois quadros de dados com os valores idênticos como NAN para a configuração padrão "false".

Exemplo: Utilizando o método de comparação de pandas

Utilizamos a ferramenta "Spyder" aqui. Abra um novo arquivo python na ferramenta "Spyder". Temos que "importar pandas como PD" para acessar os recursos de pandas. É extremamente importante notar que as edições de pandas devem ser 1.1.0 ou superior. Criamos nosso primeiro dataframe usando o método pandas “PD.Dataframe () ”e armazenou este DataFrame em uma variável“ First_Table ”.

Inicializamos esse quadro de dados com três colunas "Produto", "Preço" e "Quantidade". Cada coluna está armazenando o mesmo comprimento de valores que são cinco. A primeira coluna "produto" do quadro de dados "First_Table" está armazenando cinco valores de string que são "acrílicos", "tela", "lápis", "notebooks" e "pincéis". Nossa segunda coluna "Price" está armazenando 5 valores int que são "260", "100", "25", "350" e "200". A última coluna aqui é "Quantidade" e também está armazenando valores int que são "1", "2", "5", "3" e "6". Na última linha do script, empregamos a função "print ()" para exibir nosso primeiro dataframe.

Quando você pressiona o botão "Executar arquivo" ou usa as teclas "Spyder" "Shift+Enter" no teclado O arquivo Python preenchimento executa. A saída exibida no terminal mostra um quadro de dados com 3 colunas que são criadas com sucesso.

Deve haver dois dados do quadro para compará -los. Já criamos nosso primeiro DataFrame "First_Table". Agora, temos que gerar o segundo dados de dados. Antes de construir o segundo quadro de dados, devemos ter em mente algumas restrições que mencionamos na introdução. Ambos os quadros de dados devem ter os mesmos nomes de colunas, formas exatas e comprimento igual. Só então podemos aplicar o método de comparação.

Para gerar o segundo quadro de dados, copiamos a primeira estrutura "First_Table" com algumas alterações. Criamos um quadro de dados "Second_Table" e atribuímos a saída de chamar o "DataFrame.cópia () ”método. O ".A função copy () ”copiará a estrutura da tabela do quadro de dados“ First_Table ”. Queremos copiar a forma, mas precisamos modificar alguns valores no novo DataFrame, para que usaremos o “.Propriedade loc ”aqui. Esta propriedade especifica o local onde você deseja adicionar valor. Funciona pelo novo nome "Second_Table" com ".loc [0, 'preço'] = 300 ”. Assim, no índice "0" da coluna "Preço" no quadro de dados "Second_Table", ele colocará o valor "300".

No local do índice "1" da coluna "Preço", o valor é colocado "120". O índice LOC “2” da coluna “Price” armazena o valor “20”. E os dois valores restantes seriam copiados como é da coluna "First_Table" "Price". Da mesma forma, no índice loc "0" da coluna "Quantidade", o valor é modificado para "2". O LOC "1" da coluna "Quantidade" tem valor "3". LOC “2” da coluna “Quantidade” definiu o valor “6”. O restante dos valores será copiado da coluna "First_Table" "Quantidade" como é. Em seguida, empregamos a função "print ()" para exibir o segundo quadro de dados no terminal.

Quando a saída é exibida, você pode observar que o "Second_Table" tem todas as mesmas colunas que "First_Table". Os valores modificados das colunas "Preço" e "Quantidade" são implementados com sucesso nos locais fornecidos.

Aqui a tarefa principal começa. Temos que agora comparar os dois dados de dados. Para isso, usaremos os pandas “DataFrame.Compare () ”Método.

Invocamos o “DataFrame.Compare () ”Método. Segue a sintaxe como o nome do primeiro DataFrame "First_Table" com o ".compare () ”e entre os parênteses do“.Compare () ”Método. Forneça o nome do segundo quadro de dados "Second_Table". Criamos uma variável "comparação" para armazenar o quadro de dados resultante gerado a partir da comparação "First_Table" e "Second_Table". Por fim, o método "print ()" é invocado com a variável "comparação" como seu parâmetro para exibir o quadro de dados resultantes.

Aqui está o quadro de dados de saída com a comparação dos valores distintos dos dois quadros de dados. Por padrão, ele cai os mesmos valores. A comparação é feita em termos de coluna por suas configurações padrão.

Agora, se queremos desenhar uma comparação em termos de linha, precisamos alterar o parâmetro "alinhamento". Seu valor padrão é "1", que desenhará uma comparação em termos de coluna. Definimos o "align_axis = 0", então as linhas de tabela são desenhadas sequencialmente de si e de outras pessoas. Em seguida, chamamos a função "print ()" para exibir o resultado.

A imagem de saída abaixo mostra um quadro de dados desenhado com uma comparação em linha.

Use o ".Compare () "Método argumenta“ Mantenha a forma ”para exibir todas as entradas na tabela de“ comparação ”. Por padrão, "Keep_Shape" está definido como "false". Se "verdadeiro", todas as linhas e colunas estão incluídas na tabela; Caso contrário, apenas aqueles com valores diferentes são mantidos.

Você pode ver a saída mostra todas as colunas e linhas, mas os mesmos valores são exibidos como "nan" aqui e valores distintos são mantidos como são.

Agora, se você deseja exibir todos os valores sem ser impressa como "nans", você deve usar o parâmetro "Keep_Shape = true" junto com o parâmetro "keep_equal = true". Se "Keep_equal" estiver definido como "true", a saída também inclui valores iguais. Os valores iguais são exibidos como "nans". A configuração padrão deste parâmetro é “falsa.”

A saída exibida no terminal mostra um quadro de dados com uma comparação desenhada em linha de todos os valores de dois quadros de dados, mantendo os valores iguais e distintos.

Conclusão

Neste guia, discutimos a técnica de comparação dos pandas para comparar dois quadros de dados. Nós explicamos a sintaxe dos pandas “.Compare () ”” função e todos os parâmetros. Usando a ferramenta "Spyder", implementamos e elaboramos os códigos de exemplo no Python.