Os pandas combinam quadros de dados

Os pandas combinam quadros de dados
Os pandas fornecem uma ampla gama de ferramentas e funções para manipulação de dados, incluindo a fusão de dados de dados. A fusão de dados de dados nos permite criar um quadro de dados alterando a fonte de dados original e gerar um novo DataFrame sem alterar a fonte de dados. A frase "junção" refere -se a unir dois quadros de dados para criar um novo DataFrame. Assim, se você está familiarizado com o SQL ou com alguns outros dados tabulares, certamente sabe o que isso implica. Pode ser um desafio entender adequadamente os tipos de junção se você é um iniciante (externo, interno, esquerdo, direito). Discutiremos alguns tipos de participar de exemplos neste tutorial. As funções concat () e merge () serão nosso foco principal neste tutorial. Para fornecer a você o máximo de alternativas úteis possível, falaremos sobre outras técnicas de fusão.

Como combinar dados de dados em pandas

Vários métodos podem ser usados ​​para combinar dois ou mais quadros de dados. Discutiremos alguns deles nos seguintes exemplos.

Exemplo 1: Combinando dois pandas de dados de dados usando a função Merge ()
Começamos este exemplo criando dois quadros de dados simples e nomeando -os "df1" e "df2". Para criar os quadros de dados, temos que importar o módulo Pandas primeiro para usar suas funcionalidades. O Pd.DataFrame é usado para criar nossos quadros de dados.

Para criar nossos quadros de dados, passamos os dicionários dentro do PD.Dataframe () e atribui os quadros de dados às variáveis ​​"df1" e "df2".

Em nosso quadro de dados "DF1", temos duas colunas - "Pessoa" e "ID" - que armazenam os nomes das pessoas e números de identificação dessas pessoas, respectivamente, respectivamente.

Em nosso segundo quadro de dados "DF2", também existem duas colunas - "ID" e "Salário" - que armazenam os números de ID e salários de indivíduos de indivíduos. Vamos usar a função Merge () para ingressar nesses dados de dados. Dê uma olhada rápida em todas as opções que esse método pode aceitar antes de continuar:

Sintaxe

Exceto pelos parâmetros à direita e à esquerda, a maioria desses parâmetros tem valores padrão. Os nomes dos quadros de dados que combinamos estão contidos nesses dois parâmetros. Um novo DataFrame é retornado pela própria função, que salvamos na variável "Merge_DF".

Como o ID da coluna em ambos os quadros de dados "DF1" e "DF2" tem o mesmo rótulo, o método Merge () combina automaticamente os dois quadros de dados com base nessa chave. Especificamos os parâmetros esquerd_on = ”Nome da coluna esquerda” e direito_on = ”Nome da coluna direita” para especificar as chaves explicitamente para nossos quadros de dados se não houver coluna com o mesmo nome de coluna em ambos os dados de dados. Vamos imprimir nossa nova função combinada de dados com a função print ().

Como você pode ver, o DF mesclado contém apenas 4 linhas, enquanto o original do DF2 contém 5 linhas. Isso ocorre porque um novo DataFrame é criado cruzando os quadros de dados direito e esquerdo quando o valor padrão do "como" como o parâmetro é definido como "interno" dentro do PD.função mescle (). Portanto, o quadro de dados combinado não conteria um ID que está faltando em uma das mesas.

Se as linhas direita e esquerda foram trocadas, isso ainda é verdade:

A saída é a mesma.

Mas o ID "005" ainda não faz parte dos quadros de dados combinados. Embora nenhuma das linhas se cruze, pode haver situações em que queremos incluir os dados de ambos.

Podemos definir o parâmetro "como" como "certo" dentro da função Merge ().

A função inclui todos os elementos do quadro de dados corretos "DF2" e DataFrame esquerdo "DF1" usando uma junção direita. Se as linhas estavam ausentes no DataFrame "DF1", usamos o How = "Left".

Exemplo 2: Combinando dois pandas de dados de dados usando a função junção ()
JON. Portanto, pode ser usado no quadro de dados como um método estático. Vamos primeiro criar dois amostras de dados de dados DF1 e DF2 para que possamos combiná -los ou mesclar usando a função de junção ().

Para ver o conteúdo de ambos os quadros de dados, vamos imprimi -los um por um.

Agora, imprima o segundo quadro de dados "DF2".

Como criamos nossos quadros de dados, observe a sintaxe da função junção ():

Sintaxe

Nosso DataFrame esquerdo "DF1" é aquele em que chamamos a função de junção (). Nosso DataFrame correto "DF2" é o do parâmetro "outro" dentro da função junção (). O parâmetro "como" aceita um dos parâmetros de manuseio (esquerda, direita, externa ou interna), enquanto o parâmetro "IS" por padrão é definido para a esquerda. O parâmetro "on" pode aceitar um ou mais argumentos (lista de chaves) para especificar a chave correspondente.

Agora, nos juntamos ao DF2 com DF1.

Como pode ser visto, temos os quadros de dados "DF1" e "DF2" usando a função junção (). A saída da função junção () pode ser modificada usando os diferentes parâmetros e especificando os diferentes argumentos para eles.

Exemplo 3: Combinando dois pandas de dados de dados usando a função concat ()
Comparado ao Merge () e JONCE (), a concatenação é um pouco mais flexível porque nos permite mesclar os quadros de dados horizontalmente (em termos de coluna) ou verticalmente (em termos de linha). A principal desvantagem é que os dados são eliminados ou descartados se os rótulos da coluna não corresponderem ou não existirem em ambos os dados de dados. A sintaxe da função é a seguinte:

Sintaxe

Parâmetros

  • objs: A lista de objetos de dataframe ([dataframe1, dataframe2,…]) que será concatenado.
  • eixo: Ele determina a ordem da concatenação, em termos de coluna, se especificada para 1 e em termos de linha, se especificado para 0.
  • juntar: Pode ser especificado como "externo" para união e "interno" para o cruzamento.
  • ignore_index: Isso pode resultar em valores de índice duplicados porque "ignorar o índice" é por padrão false, o que mantém os valores do índice os dados de dados originais. Se verdadeiro, ele re-assina o índice em ordem seqüencial enquanto ignora os valores originais.
  • chaves: Podemos criar um índice hierárquico usando chaves. Considere-o como um nível adicional do índice externo que ajuda na identificação de índices ao duplicar. Agora, vamos criar nosso quadro de dados com os mesmos rótulos e tipos de dados da coluna.

Vamos imprimir nossos quadros de dados "DF1" e "DF2" para ver seu conteúdo.

Temos duas colunas em "DF1". Agora, "DF2" deve ter duas colunas com os mesmos nomes.

O DataFrame "DF2" também consiste em colunas de "nome" e "idade" com os mesmos tipos de dados que as colunas do quadro de dados "DF1".

Agora, passamos pelo DF1 e DF2 no parâmetro OBJS como uma lista ([DF1, DF2]) para combiná-los em termos de linha. E então, atribuímos o novo quadro de dados mesclado à variável "mesclada".

Como pode ser visto, os dados de "DF2" são fundidos com "DF1". No entanto, observe os índices no lado esquerdo de cada linha. Os números 0, 1 e 2 continuam repetindo. Definimos o argumento ignore_index como True para obter os valores de índice distintos.

O valor do eixo deve ser alterado do valor padrão de 0 a 1 para combinar o "DF1" e o "DF2" em termos de coluna.

Você observará que ele difere da Merge () que corresponde a dois quadros de dados em uma chave.

Também existem outros métodos em pandas como append () e combin_first () e update () para combinar dois quadros de dados.

Conclusão

Neste tutorial, vimos que a combinação dos quadros de dados nos permite criar um quadro de dados alterando a fonte de dados original e gerar um novo DataFrame sem alterar a fonte de dados. Vimos a sintaxe das funções usadas para mesclar os quadros de dados. Tentamos ensinar a você como você pode combinar duas funções de dados do Pandas usando as funções de junção (), Merge () e Concat (). Agora, você poderá combinar o DataFrame () e atribuir o DataFrame por si mesmo usando essas funções.