Pandalar: birden fazla sütun için isin nasıl kullanılır
Bir pandas DataFrame’deki birden çok sütuna göre filtrelemek için pandas isin() işleviyle aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Birden çok sütun belirli değerlere eşit olduğunda filtreleyin
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )]
Bu özel örnek, takım sütununun “A” ya ve konum sütununun “Koruma”ya eşit olduğu satırlar için DataFrame’i filtreler.
Yöntem 2: En az bir sütunun belirli bir değere eşit olduğu filtre
df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )]
Bu özel örnek, takım sütununun “A” ya veya konum sütununun “Koruma”ya eşit olduğu satırlar için DataFrame’i filtreler.
Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['Guard', 'Guard', 'Forward', 'Forward', 'Guard', 'Guard', 'Forward', 'Forward'], ' points ': [11, 18, 10, 22, 26, 35, 19, 12]}) #view DataFrame print (df) team position points 0 A Guard 11 1 A Guard 18 2 A Forward 10 3 A Forward 22 4 B Guard 26 5 B Guard 35 6 B Forward 19 7 B Forward 12
Örnek 1: Birden çok sütunun belirli değerlere eşit olduğu filtre
DataFrame’i yalnızca takım sütununun “A” ya ve konum sütununun “Guard”a eşit olduğu satırları içerecek şekilde filtrelemek için aşağıdaki sözdizimini kullanabiliriz.
#filter rows where team column is 'A' and position column is 'Guard' df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). all (axis= 1 )] #view filtered DataFrame print (df) team position points 0 A Guard 11 1 A Guard 18
Filtrelenen DataFrame’de yalnızca takım sütununun “A”ya ve konum sütununun “Koruma”ya eşit olduğu satırların kaldığını unutmayın.
Örnek 2: En az bir sütunun belirli bir değere eşit olduğu filtre
DataFrame’i yalnızca takım sütununun “A” ya veya konum sütununun “Koruma”ya eşit olduğu satırları içerecek şekilde filtrelemek için aşağıdaki sözdizimini kullanabiliriz.
#filter rows where team column is 'A' or position column is 'Guard' df = df[df[[' team ', ' position ']]. isin ([' A ',' Guard ']). any (axis= 1 )] #view filtered DataFrame print (df) team position points 0 A Guard 11 1 A Guard 18 2 A Forward 10 3 A Forward 22 4 B Guard 26 5 B Guard 35
Filtrelenmiş DataFrame’de yalnızca takım sütununun “A”ya veya konum sütununun “Koruma”ya eşit olduğu satırların kaldığını unutmayın.
Not : Pandaların isin() 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: Pivot tabloya filtre nasıl eklenir?
Pandalar: “İçermez” filtrelemesi nasıl yapılır?
Pandalar: belirli bir dizeyi içeren satırlar nasıl filtrelenir