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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *