Pandas - Koşullu Seçim
Pzt 11 Temmuz 2022Koşullu Satır Seçimi
Veri çerçevemizde belirttiğimiz koşullara uyan satırları seçmek istersek, bunu Python operatörleri ile rahatlıkla gerçekleştirebiliriz. Önce Veri Çerçevemize göz atalım;
print(df)
max_speed | shield | |
---|---|---|
cobra | 1 | 2 |
viper | 4 | 5 |
sidewinder | 7 | 8 |
shield sütununda 6'dan büyük değerleri barındıran satırları seçmek istediğimizi varsayalım ve buna uygun kodu yazıp çalıştıralım;
print(df.loc[df['shield'] > 6])
max_speed | shield | |
---|---|---|
sidewinder | 7 | 8 |
Koşullu Sütun seçimi
Veri çerçevemizde belirttiğimiz koşullara uyan sütunları seçmek istersek, benzer kodu kullanabiliriz. Örneğin shield sütununda 6'dan büyük değerleri barındıran satırları ve bu satırların sadece max_speed sütununu seçmek istediğimizi varsayalım. Bunun için aşağıdaki kodu yazıp çalıştıralım;
print(df.loc[df['shield'] > 6, ['max_speed']])
max_speed | |
---|---|
sidewinder | 7 |
lambda() Fonksiyonu ile Satır Seçimi
lambda
fonksiyonu ile belirteceğimiz koşulu sağlayan satırı seçmek için aşağıdaki kod mantığını kullanabiliriz. Örneğin shield satırında 8'e eşit değer barındıran satırları seçelim.
print(df.loc[lambda df: df['shield'] == 8])
max_speed | shield | |
---|---|---|
sidewinder | 7 | 8 |
Sütun Seçimi
Sadece bir Sütunu seçmek/görüntülemek için veri çerçevesinin adı ile birlikte seçmek/görüntülemek istediğimiz sütunun ismini yazmak yeterlidir. Bu da iki şekilde gerçekleştirilebilir.
- VeriCervecesiAdı.SütunAdı
- VeriCervecesiAdı["SütunAdı"]
Sütun isminde boşluk ya da nokta karakterleri bulunması halinde, ilk (noktalı) seçeneği kullanamayız, o durumda 2. seçeneği (köşeli parantezli) kullanmak gerekir. Bunları da örneklerle görelim.
print(imdb.Puan)
Film_Adı
The Shawshank Redemption 9,2
The Godfather 9,2
The Godfather: Part II 9
Pulp Fiction 8,9
The Dark Knight 8,9
...
Mystic River 7,9
In the Heat of the Night 7,9
Arsenic and Old Lace 7,9
Before Sunrise 7,9
Papillon 7,9
Name: Puan, Length: 247, dtype: object
print(imdb["Puan"])
Film_Adı
The Shawshank Redemption 9,2
The Godfather 9,2
The Godfather: Part II 9
Pulp Fiction 8,9
The Dark Knight 8,9
...
Mystic River 7,9
In the Heat of the Night 7,9
Arsenic and Old Lace 7,9
Before Sunrise 7,9
Papillon 7,9
Name: Puan, Length: 247, dtype: object
Birden fazla sütun seçmek istediğimiz durumda, sütun isimlerini liste olarak (bildiğiniz gibi liste veri tipleri köşeli parantez ile temsil edilir) belirtmek/yazmak gerekir.
print(imdb[["Yıl", "Puan"]])
Film_Adı | Yıl | Puan |
---|---|---|
The Shawshank Redemption | 1994 | 9,2 |
The Godfather | 1972 | 9,2 |
The Godfather: Part II | 1974 | 9 |
Pulp Fiction | 1994 | 8,9 |
The Dark Knight | 2008 | 8,9 |
... | ... | ... |
Mystic River | 2003 | 7,9 |
In the Heat of the Night | 1967 | 7,9 |
Arsenic and Old Lace | 1944 | 7,9 |
Before Sunrise | 1995 | 7,9 |
Papillon | 1973 | 7,9 |
247 rows × 2 columns
Yukarıda anlatılan loc
ve iloc
metodlarını, Satırlar da olduğu gibi, Sütunlarda da kullanabiliriz.