Pandalar: i̇ki dataframe'i satır satır karşılaştırma


İki panda DataFrames’ı satır satır karşılaştırmak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: DataFrame’leri Karşılaştırın ve Yalnızca Farklılıklara Sahip Satırları Koruyun

 df_diff = df1. compare (df2, keep_equal= True , align_axis= 0 )

Yöntem 2: DataFrame’leri Karşılaştırın ve Tüm Satırları Koruyun

 df_diff = df1. compare (df2, keep_equal= True , keep_shape= True , align_axis= 0 )

Aşağıdaki örnekler, her yöntemin aşağıdaki pandalar DataFrames ile nasıl kullanılacağını gösterir:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D'],
                    ' points ': [18, 22, 19, 14],
                    ' assists ': [5, 7, 7, 9]})

print (df1)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'E'],
                    ' points ': [18, 30, 19, 20],
                    ' assists ': [5, 7, 7, 9]})

print (df2)

  team points assists
0 to 18 5
1 B 30 7
2 C 19 7
3 E 20 9

Örnek 1: DataFrame’leri karşılaştırın ve yalnızca farklılık içeren satırları tutun

Aşağıdaki kod, iki DataFrame’in satır satır nasıl karşılaştırılacağını ve yalnızca en az bir sütunda farklılıkları olan satırların nasıl tutulacağını gösterir:

 #compare DataFrames and only keep rows with differences
df_diff = df1. compare (df2, keep_equal= True , align_axis= 0 )

#view results
print (df_diff)

        team points
1 coil B 22
  other B 30
3 choke D 14
  other E 20

DataFrame’lerin iki farklı satırı olduğunu görebiliriz.

Özellikle her DataFrame’in 1. ve 3. indeks konumlarındaki satırların en az bir sütunda farklı değerlere sahip olduğunu görebiliriz.

Kendi satırındaki değerler ilk DataFrame’in değerlerini gösterirken diğer satırdaki değerler ikinci DataFrame’in değerlerini gösterir.

Örneğin şunu görebiliriz:

  • İlk DataFrame’in indeks konumu 1’deki satır, takım sütununda B’yi ve puan sütununda 22’yi içerir.
  • İkinci DataFrame’in indeks konumu 1’deki satır, takım sütununda B’yi ve puan sütununda 30’u içerir.

Not : keep_equal=True argümanı pandalara değerleri eşit tutmalarını söyler. Aksi takdirde eşit değerler NaN olarak görüntülenir.

Örnek 2: DataFrame’leri Karşılaştırın ve Tüm Satırları Koruyun

Aşağıdaki kod, iki DataFrame’i satır satır karşılaştırmak ve orijinal DataFrame’lerdeki tüm satırları korumak için keep_shape=True bağımsız değişkeninin nasıl kullanılacağını gösterir:

 #compare DataFrames and keep all rows
df_diff = df1. compare (df2, keep_equal= True , keep_shape= True , align_axis= 0 )

#view results
print (df_diff)

        team points assists
0 choke A 18 5
  other A 18 5
1 coil B 22 7
  other B 30 7
2 choke C 19 7
  other C 19 7
3 choke D 14 9
  other E 20 9

Ortaya çıkan DataFrame, orijinal DataFrame’lerin tüm satırlarını ve sütunlarını içerir.

Not #1 : Compare() işlevi, iki DataFrame’in aynı boyutlara sahip olduğunu varsayar.

Not #2: Pandas Compare() işlevine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar: iki sütun nasıl karşılaştırılır
Pandalar: Üç sütunun karşılaştırılması
Pandalar: iki farklı DataFrame’deki sütunlar nasıl karşılaştırılır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir