Seçim Yöntemleri

Veri Çerçevesi oluştururken ya da oluşturduktan sonra istenilen satır ve sütunların seçilmesi/görüntülenmesi ya da seçilmemesi/görüntülenmemesi konusunu inceleyelim. Veri çerçevesinde işimize yaramayacak verileri devre dışı bırakmak için bu yöntemleri kullanabiliriz.

Satır ve Sütun Seçimi

iloc[] Metodu

Veri Çerçevesindeki istenilen satır ve sütunu seçmek/görüntülemek için iloc[] metodu kullanılır. iloc[] kelimesini unutmamak için İndex Location yani, Konumun İndeks Değeri gibi düşünebilir, hafızanızda kodlayabilirsiniz. Esas olarak iloc[] metodu, hem satır hem de sütun numarası alarak çalışır.

Veri_Cercevesi_Adı.iloc[Satir_Numarası, Sütun_Numarası]

Öncelikle Pandas Kütüphanesini içe aktarıp, kodlama esnasında hızlı olması adına bu kütüphaneye pd adını atayalım;

import pandas as pd

Bu eğitim esnasında, fonksiyon ve metotlardan bahseder, örnek verirken kullanmak üzere, basit bit Veri Çerçevesi (Data Frame) oluşturalım ve oluşturduğumuz Veri Çerçevesinin içeriğini görelim;

sozluk = {"isim" : ["Mustafa", "Halil", "Burak", "Emre", "Ersin", "Sertaç", "Furkan","Murat","Ahmet","Abdülkadir"],
                    "yaş" : [25, 38, 41, 23, 37, 52, 30, 23, 40, 38],
                   "iş-meslek" : ["mühendis", "programcı", "akademisyen", "yönetici","amir","mühendis", "yönetici","müdür","veteriner","yönetici"]}
veri = pd.DataFrame(sozluk)
print(veri)
isim yaş iş-meslek
0 Mustafa 25 mühendis
1 Halil 38 programcı
2 Burak 41 akademisyen
3 Emre 23 yönetici
4 Ersin 37 amir
5 Sertaç 52 mühendis
6 Furkan 30 yönetici
7 Murat 23 müdür
8 Ahmet 40 veteriner
9 Abdülkadir 38 yönetici

Verimizi .iloc ile seçelim.

print(veri.iloc[8,2])

Çıktı:

'veteriner'

Sadece bir sayı değeri aldığında, ilgili indeks sayısına ait satır bilgisini verir.

print(veri.iloc[5])
isim           Sertaç
yaş                52
iş-meslek    mühendis
Name: 5, dtype: object

loc[] Metodu

iloc[] metoduna benzer bir metottur ancak loc[] metodunda, satır ve sütun seçmek/görüntülemek istediğimiz zaman, satır ve sütunların isimlerini yazmalıyız. Elimizde aşağıdaki gibi bir veri çerçevesi olduğunu varsayalım.

imdb = pd.read_excel("Veri_Setleri/imdb.xlsx", index_col="Film_Adı")
print(imdb)
Yıl Puan Oylayan_Kişi
Film_Adı
The Shawshank Redemption 1994 9,2 1071904
The Godfather 1972 9,2 751381
The Godfather: Part II 1974 9 488889
Pulp Fiction 1994 8,9 830504
The Dark Knight 2008 8,9 1045186
... ... ... ...
Mystic River 2003 7,9 256159
In the Heat of the Night 1967 7,9 37081
Arsenic and Old Lace 1944 7,9 45893
Before Sunrise 1995 7,9 100974
Papillon 1973 7,9 62517

247 rows × 3 columns

Pulp Fiction Filminin Puanını öğrenmek istediğimizi düşünelim. Bu durumda aşağıdaki kodları yazmamız doğru sonucu verecektir.

print(imdb.loc["Pulp Fiction", "Puan"])
'8,9'

Star Wars isimli satır verisine ulaşmak için loc[] metoduna Star Wars metinsel (string) ibaresini eklemeliyiz.

print(imdb.loc["Star Wars"])
Yıl               1977
Puan               8,7
Oylayan_Kişi    585132
Name: Star Wars, dtype: object

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"]])
Yıl Puan
Film_Adı
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

← Önceki Bölüm Sonraki Bölüm →