Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengenalpasti Baris Hadir dalam df2 Tetapi Tidak Hadir dalam df1?

Bagaimana untuk Mengenalpasti Baris Hadir dalam df2 Tetapi Tidak Hadir dalam df1?

Barbara Streisand
Barbara Streisandasal
2024-10-19 21:08:29377semak imbas

How to Identify Rows Present in df2 But Absent in df1?

Perbezaan Antara Dua Bingkai Data

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.

Membandingkan dengan Boolean Matrix

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.

Penghimpunan mengikut Nilai Unik

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.

Menapis Bingkai Data

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.

Contoh

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn