Pandalar: birden fazla sütunun eşit olup olmadığı nasıl kontrol edilir
Pandalarda birden fazla sütunun eşit olup olmadığını kontrol etmek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Tüm sütunların eşit olup olmadığını kontrol edin
df[' matching '] = df. eq (df. iloc [:, 0], axis= 0 ). all (1)
Yöntem 2: Belirli sütunların eşit olup olmadığını kontrol edin
df[' matching '] = df. apply ( lambda x: x.col1 == x.col3 == x.col4 , axis= 1 )
Aşağıdaki örnekler, her yöntemin aşağıdaki pandalar DataFrame ile pratikte nasıl kullanılacağını gösterir:
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7], ' B ': [4, 2, 3, 5, 6, 4, 7], ' C ': [4, 0, 3, 3, 5, 10, 7], ' D ': [4, 0, 3, 3, 3, 8, 7]}) #view DataFrame print (df) ABCD 0 4 4 4 4 1 0 2 0 0 2 3 3 3 3 3 3 5 3 3 4 6 6 5 3 5 8 4 10 8 6 7 7 7 7
Örnek 1: Tüm sütunların eşit olup olmadığını kontrol edin
DataFrame’deki her sütunun değerinin her satır için eşit olup olmadığını kontrol etmek için aşağıdaki sözdizimini kullanabiliriz:
#create new column that checks if all columns match in each row df[' matching '] = df. eq (df. iloc [:, 0], axis= 0 ). all (1) #view updated DataFrame print (df) ABCD matching 0 4 4 4 4 True 1 0 2 0 0 False 2 3 3 3 3 True 3 3 5 3 3 False 4 6 6 5 3 False 5 8 4 10 8 False 6 7 7 7 7 True
Her sütunun değeri eşitse karşılık gelen sütun True değerini döndürür.
Aksi takdirde False değerini döndürür.
Aşağıdaki gibi astype(int) kullanarak True ve False değerlerini 1 ve 0’a dönüştürebileceğinizi unutmayın:
#create new column that checks if all columns match in each row df[' matching '] = df. eq (df. iloc [:, 0], axis= 0 ). all (1). astype (int) #view updated DataFrame print (df) ABCD matching 0 4 4 4 4 1 1 0 2 0 0 0 2 3 3 3 3 1 3 3 5 3 3 0 4 6 6 5 3 0 5 8 4 10 8 0 6 7 7 7 7 1
Örnek 2: Belirli sütunların eşit olup olmadığını kontrol edin
DataFrame’in A, C ve D sütunlarındaki değerlerin her satır için eşit olup olmadığını kontrol etmek için aşağıdaki sözdizimini kullanabiliriz:
#create new column that checks if values in columns A, C, and D are equal df[' matching '] = df. apply ( lambda x: x. A == x. C == x. D , axis= 1 ) #view updated DataFrame print (df) ABCD matching 0 4 4 4 4 True 1 0 2 0 0 True 2 3 3 3 3 True 3 3 5 3 3 True 4 6 6 5 3 False 5 8 4 10 8 False 6 7 7 7 7 True
A, C ve D sütunlarındaki değerler eşitse karşılık gelen sütun True değerini döndürür.
Aksi takdirde False değerini döndürür.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar’da sütunlar nasıl yeniden adlandırılır?
Pandas DataFrame’e sütun nasıl eklenir
Pandas DataFrame’de sütun sırası nasıl değiştirilir?