Python - Concatenar e unir dataframes diferentes

 Mais algumas funções no Pandas:

Concatenar e unir vários dataframes:

Se tivermos o seguinte dicionário:

raw_data = {

    'Numero do Elemento':['1','2','3','4'],

    'Primeiro Nome':['Sérgio','Inês','Beatriz','Henrique'],

    'Último Nome':['Paulos','Silva','Paulos','Serra']

}

Podemos convertê-lo num dataframe do Pandas:

elementos = pd.DataFrame(raw_data, columns = ['Numero do Elemento','Primeiro Nome','Último Nome']




Agora se tivermos outro dicionário fazemos o mesmo:

raw_data1 = {

    'Numero do Elemento':['5','6','7','8'],

    'Primeiro Nome':['Francisco','Graça','Joaquim','Helena'],

    'Último Nome':['Paulos','Santos','Silva','Silva']

}

elementos1 = pd.DataFrame(raw_data1, columns = ['Numero do Elemento','Primeiro Nome','Último Nome'])

Então e se agora tivermos um outro dataframe com por exemplo os nascimentos de todos estes elementos ?

nascimentos = {

    'Numero do Elemento':['1','2','3','4','5','6','7','8'],

    'Ano Nascimento':['1978','1988','2013','2015','1953','1957','1945','1949']

}

nascimentos1 = pd.DataFrame(nascimentos, columns = ['Numero do Elemento','Ano Nascimento'])



Temos portanto 3 dataframes diferentes, e vamos querer juntá-los a todos. Como fazer isso ? Precisamos cumprir os pressupostos, isto é, os índices serem sequenciais nos dataframes dos elementos, e uma coluna ser igual entre os elementos e a data de nascimento, para podermos fazer merge. Começamos por juntar todos os elementos num único df:

todos_elementos = pd.concat([elementos,elementos1])



E agora juntamos o nosso dataframe dos nascimentos, segundo uma coluna que seja comum nos dois df, neste caso, a coluna do 'Numero do Elemento':

pd.merge(todos_elementos,nascimentos1, on='Numero do Elemento')



Comentários

Mensagens populares deste blogue

Python - criar nomes aleatórios

Python - Gerador de nomes aleatórios: V2.0