Pandas: atualize os valores das colunas com base em outro dataframe
Muitas vezes você pode querer atualizar os valores de uma coluna de um DataFrame do pandas usando os valores de outro DataFrame.
Felizmente, isso é fácil de fazer usando a função merge() no pandas.
O exemplo a seguir mostra como fazer isso.
Exemplo: Atualizar valores de coluna no Pandas DataFrame com base em outro DataFrame
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [0, 0, 0, 1, 0, 0, 0, 1]}) #view DataFrame print (df1) team points assists 0 to 18 0 1 B 22 0 2 C 19 0 3 D 14 1 4 E 14 0 5 F 11 0 6 G 20 0 7:28 a.m. 1
Agora suponha que os valores da coluna auxiliar não sejam atualizados neste DataFrame.
No entanto, vamos supor que temos o seguinte segundo DataFrame que possui valores atualizados para a coluna auxiliar :
#create second DataFrame df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [8, 7, 7, 4, 9, 12, 3, 5]}) #view second DataFrame print (df2) team points assists 0 to 18 8 1 B 22 7 2 C 19 7 3 D 14 4 4 E 14 9 5 F 11 12 6 G 20 3 7:28 5
Podemos usar a seguinte sintaxe para atualizar os valores da coluna auxiliar do primeiro DataFrame usando os valores da coluna auxiliar do segundo DataFrame:
#merge two DataFrames
df1 = df1. merge (df2, on=' team ', how=' left ')
#drop original DataFrame columns
df1. drop ([' points_x ', ' assists_x '], inplace= True , axis= 1 )
#rename columns
df1. rename (columns={' points_y ': ' points ', ' assists_y ': ' assists '}, inplace= True )
#view updated DataFrame
print (df1)
team points assists
0 to 18 8
1 B 22 7
2 C 19 7
3 D 14 4
4 E 14 9
5 F 11 12
6 G 20 3
7:28 5
Observe que os valores da coluna auxiliar do primeiro DataFrame foram atualizados usando os valores da coluna auxiliar do segundo DataFrame.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Como remover a primeira linha no Pandas DataFrame
Como remover a primeira coluna no Pandas DataFrame
Como remover colunas duplicadas no Pandas