Pandas: perbarui nilai kolom berdasarkan dataframe lain
Seringkali Anda mungkin ingin memperbarui nilai kolom pandas DataFrame menggunakan nilai DataFrame lain.
Untungnya, hal ini mudah dilakukan menggunakan fungsi merge() di pandas.
Contoh berikut menunjukkan cara melakukan hal ini.
Contoh: Perbarui nilai kolom di Pandas DataFrame berdasarkan DataFrame lain
Misalkan kita memiliki pandas DataFrame berikut yang berisi informasi tentang berbagai pemain bola basket:
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
Sekarang asumsikan nilai kolom pembantu tidak diperbarui di DataFrame ini.
Namun, mari kita asumsikan kita memiliki DataFrame kedua berikut yang memiliki nilai terbaru untuk kolom pembantu :
#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
Kita dapat menggunakan sintaks berikut untuk memperbarui nilai kolom pembantu dari DataFrame pertama menggunakan nilai kolom pembantu dari DataFrame kedua:
#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
Perhatikan bahwa nilai kolom pembantu dari DataFrame pertama telah diperbarui menggunakan nilai kolom pembantu dari DataFrame kedua.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:
Cara menghapus baris pertama di Pandas DataFrame
Cara menghapus kolom pertama di Pandas DataFrame
Cara menghapus kolom duplikat di Pandas