Saya ingin membandingkan satu kolom df dengan df lainnya. Kolom adalah nama dan nama belakang. Saya ingin memeriksa apakah seseorang dalam satu frame data ada di frame lain.
Saya ingin membandingkan satu kolom df dengan df lainnya. Kolom adalah nama dan nama belakang. Saya ingin memeriksa apakah seseorang dalam satu frame data ada di frame lain.
Jawaban:
Jika Anda ingin memeriksa nilai yang sama pada kolom tertentu, misalkan Nama Anda dapat menggabungkan kedua Dataframe ke yang baru:
mergedStuff = pd.merge(df1, df2, on=['Name'], how='inner')
mergedStuff.head()
Saya pikir ini lebih efisien dan lebih cepat where
jika Anda memiliki kumpulan data besar
Membandingkan nilai dalam dua kolom berbeda
Dengan menggunakan set, dapatkan nilai unik di setiap kolom. Perpotongan dua set ini akan memberikan nilai unik di kedua kolom.
Contoh:
df1 = pd.DataFrame({'c1': [1, 4, 7], 'c2': [2, 5, 1], 'c3': [3, 1, 1]})
df2 = pd.DataFrame({'c4': [1, 4, 7], 'c2': [3, 5, 2], 'c3': [3, 7, 5]})
set(df1['c2']).intersection(set(df2['c2']))
Keluaran:
{2, 5}
Membandingkan nama kolom dari dua dataframe
Jika Anda mencoba membandingkan nama kolom dari dua kerangka data:
Jika df1
dan df2
dua dataframe:
set(df1.columns).intersection(set(df2.columns))
Ini akan memberikan nama kolom unik yang terkandung dalam kedua kerangka data.
Contoh:
df1 = pd.DataFrame({'c1': [1, 4, 7], 'c2': [2, 5, 1], 'c3': [3, 1, 1]})
df2 = pd.DataFrame({'c4': [1, 4, 7], 'c2': [3, 5, 2], 'c3': [3, 7, 5]})
set(df1.columns).intersection(set(df2.columns))
Keluaran:
{'c2', 'c3'}