Membandingkan bingkai data untuk mengenal pasti perbezaan adalah penting untuk analisis data. Dalam masalah ini, kami diberi dua bingkai data, df1 dan df2, dan perlu mencari baris yang hadir dalam df2 tetapi tiada dalam df1.
Perbandingan langsung menggunakan operator seperti != boleh membawa kepada ralat jika kerangka data mempunyai struktur yang berbeza. Pendekatan yang lebih baik ialah menggabungkan bingkai data, menetapkan semula indeksnya, dan kemudian membandingkannya. Menggunakan df1 == df2 akan menghasilkan matriks boolean di mana Benar menunjukkan baris hadir dalam kedua-dua bingkai data dan Palsu menunjukkan perbezaan.
Seterusnya, kita boleh melakukan operasi kumpulan mengikut pada rangka data bercantum untuk mengenal pasti baris unik. Matlamatnya adalah untuk mencari baris yang berlaku sekali sahaja dalam bingkai data. Kita boleh mencapai ini dengan menyemak panjang kumpulan; baris dengan panjang 1 mewakili rekod unik.
Akhir sekali, kami boleh menggunakan indeks baris unik yang dikenal pasti untuk menapis bingkai data. Ini akan memberikan kita baris dalam df2 yang tidak terdapat dalam df1.
Sebagai contoh, mengambil kira contoh kerangka data yang disediakan:
<code class="python">import pandas as pd df1 = ... df2 = ... # Concatenate dataframes df = pd.concat([df1, df2]) df = df.reset_index(drop=True) # Group by unique values df_gpby = df.groupby(list(df.columns)) # Get unique row indices idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1] # Filter dataframe result = df.reindex(idx)</code>
Kerangka data hasil akan mengandungi baris dalam df2 yang tidak terdapat dalam df1.
Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Baris Hadir dalam df2 Tetapi Tidak Hadir dalam df1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!