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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *