Pandas - Koşullu Seçim

Koş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.

  1. VeriCervecesiAdı.SütunAdı
  2. 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.