Mencari Perbezaan Antara Dua DataFrames
Dalam analisis data, mengenal pasti percanggahan antara set data adalah penting. Katakan anda mempunyai dua bingkai data, df1 dan df2, dengan df2 ialah subset bagi df1. Untuk mendapatkan semula baris dan lajur unik yang terdapat dalam df1 tetapi tidak dalam df2 dengan cekap, anda boleh memanfaatkan konsep perbezaan set.
Pendekatan: Menggunakan pd.concat dan drop_duplicates**
Pendekatan utama melibatkan penggabungan kedua-dua bingkai data menggunakan pd.concat dan seterusnya menghapuskan baris atau lajur pendua menggunakan drop_duplicates. Dengan menetapkan keep=False, ia memastikan bahawa hanya baris atau lajur yang wujud semata-mata dalam df1 dikekalkan.
df3 = pd.concat([df1, df2]).drop_duplicates(keep=False)
Kaveat: Mengendalikan Pendua
Walau bagaimanapun, ini kaedah menganggap bahawa kedua-dua kerangka data itu sendiri tidak mengandungi nilai pendua. Jika mereka melakukannya, hasilnya boleh menjadi tidak tepat. Untuk menangani perkara ini, kita boleh menggunakan pendekatan alternatif berikut:
Kaedah 1: Menggunakan isin dengan Tuple
Kaedah ini melibatkan penukaran setiap baris menjadi tuple menggunakan df.apply(tuple, 1) dan kemudian semak jika tupel hadir dalam df2 menggunakan df.apply(tuple, 1).isin(df2.apply(tuple, 1)). Bingkai data yang terhasil akan mengandungi baris unik daripada df1 yang tiada dalam df2.
df1[~df1.apply(tuple, 1).isin(df2.apply(tuple, 1))]
Kaedah 2: Bercantum dengan Penunjuk
Pendekatan lain ialah menggabungkan df1 dengan df2 menggunakan pd.merge dengan penunjuk untuk mengenal pasti baris yang wujud hanya dalam df1. Dengan menggunakan fungsi lambda, kita boleh menapis baris yang lajur '_merge' tidak sama dengan 'kedua-duanya'.
df1.merge(df2, indicator=True, how='left').loc[lambda x: x['_merge']!='both']
Kesimpulan
Dengan menggunakan ini teknik, anda boleh mencari perbezaan antara dua bingkai data dengan berkesan dan mendapatkan cerapan tentang titik data unik yang terdapat dalam setiap bingkai data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Baris Unik dengan Cekap dalam DataFrame1 Yang Tiada dalam DataFrame2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!