Pandas: dapatkan baris yang tidak ada di dataframe lain
Anda dapat menggunakan sintaks dasar berikut untuk mendapatkan baris dari DataFrame panda yang tidak ada di DataFrame lain:
#merge two DataFrames and create indicator column df_all = df1. merge ( df2.drop_duplicates (), on=[' col1 ',' col2 '], how=' left ', indicator= True ) #create DataFrame with rows that exist in first DataFrame only df1_only = df_all[df_all[' _merge '] == ' left_only ']
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Mendapatkan baris di Pandas DataFrame yang tidak ada di DataFrame lain
Mari kita asumsikan kita memiliki dua panda DataFrames berikut:
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'], ' points ': [12, 15, 22, 29, 24]}) print (df1) team points 0 to 12 1 B 15 2 C 22 3 D 29 4 E 24 #create second DataFrame df2 = pd. DataFrame ({' team ': ['A', 'D', 'F', 'G', 'H'], ' points ': [12, 29, 15, 19, 10]}) print (df2) team points 0 to 12 1 D 29 2 F 15 3 G 19 4:10 a.m.
Kita dapat menggunakan sintaks berikut untuk menggabungkan dua DataFrame dan membuat kolom indikator untuk menunjukkan baris mana yang dimiliki setiap DataFrame:
#merge two DataFrames and create indicator column df_all = df1. merge ( df2.drop_duplicates (), on=[' team ',' points '], how=' left ', indicator= True ) #view result print (df_all)
Kita kemudian dapat menggunakan sintaks berikut untuk mendapatkan hanya baris dari DataFrame pertama yang tidak ada di DataFrame kedua:
#create DataFrame with rows that exist in first DataFrame only df1_only = df_all[df_all[' _merge '] == ' left_only '] #view DataFrame print (df1_only) team points _merge 1 B 15 left_only 2 C 22 left_only 4 E 24 left_only
Terakhir, kita dapat menghapus kolom _merge jika kita ingin:
#drop '_merge' column
df1_only = df1_only. drop (' _merge ', axis= 1 )
#view DataFrame
print (df1_only)
team points
1 B 15
2 C 22
4 E 24
Hasilnya adalah DataFrame yang semua barisnya ada di DataFrame pertama tetapi tidak di DataFrame kedua.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:
Bagaimana cara menambahkan kolom dari satu DataFrame ke DataFrame lainnya di Pandas
Bagaimana mengubah urutan kolom di Pandas
Cara mengurutkan kolom berdasarkan nama di Pandas