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

Yorum ekle

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