Quando nós vamos trabalhar com dataframes, é muito comum que a gente tenha mais de um arquivos ou mais de um frame de dados. Portanto, é um hábito dos analistas de dados de fazer um merge do dados em um só lugar, unindo vários frames de dados.

No exemplo de hoje, utilizaremos dois frames de dados:

O primeiro método que utilizaremos é pd.concat([left, right]). Caso nós utilizemos o método concat(), nós colocaremos o frame right embaixo do frame left. Se uma coluna não existir em um dos frames, NaN preencherá as céulas sem valor, como na imagem a seguir:

Podemos utilizar ainda alguns parâmetros dentro do método concat(), como:

  • axis=1 – combine as colunas
  • join=’inner’ – como o método inner do SQL, ele colocará esses novos dados ao lado, um do outro, pelos índices

Contudo, perceba que as colunas _key1 e _key2 ficaram repetidas.

Podemos utilizar outro método para o trabalho: o método append(). Com ele, nós acrescentaremos um frame ao outro, como no primeiro exemplo de concat():

Agora vem o método mais interessante para fazer o merge. Aliás, o nome do método é merge()! Nós o utilizaremos da seguinte forma:

Ou seja, left e right os frames que queremos juntar e how=’inner’ sendo a forma que juntaremos os dois. O interessante aqui é que com o merge, as colunas duplicadas são mandadas embora, como é possível ver abaixo:

Se você não passar o argumento on=”, o método merge utilizará o índice para fazer o acréscimo. Suponhamos que temos um frame de filmes e um frame com tags, e queremos unir esses dois frames baseados no ID do filme:

De dataframe, por enquanto, é isso 🙂

Nos vemos em breve de novo para conversar sobre Python, Ciência de Dados, etc.