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
Enviar um comentário