Pandas - index

index Metodu

index metodu, Veri Çerçevesinin indeks bilgisini döndürür.

Ö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

Basit bir 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

index Metodunun Kullanımı

index fonksiyonu aşağıdaki şekilde kullanılır.

print(veri.index)

Çıktı:

RangeIndex(start=0, stop=10, step=1)

Veri çerçevesi oluşturulurken indeks değerlerinin otomatik olarak belirlenmesi halinde, yukarıdaki şekilde çıktı alırız. Çıktıyı incelersek;

Veri çerçevesi oluşturulduğunda index değerleri otomatik olarak belirlenir. Bu değeri istersek biz de belirleyebiliriz.

veri.index = range(50, 70, 2)
print(veri)

veri.index = range(50, 70, 2) ile veri çerçevemizdeki index değerlerini 50'den başlatıp 70'e kadar (70 dahil değil) 2'şer 2'şer artırarak yeniden tanımlıyoruz. Veri çerçevesinde toplamda 10 satır olduğu için yeni atayacağımız indeks sayısı da 10 adet olmalı, aksi halde hata alırız, işlem gerçekleşmez.

Çıktı:

          isim  yaş    -meslek
50     Mustafa   25     mühendis
52       Halil   38    programcı
54       Burak   41  akademisyen
56        Emre   23     yönetici
58       Ersin   37         amir
60      Sertaç   52     mühendis
62      Furkan   30     yönetici
64       Murat   23        müdür
66       Ahmet   40    veteriner
68  Abdülkadir   38     yönetici

Peki indeks değeri sayılardan oluşmazsa, yani indeks bilgisi tarafımızca belirtilen Metinsel verilerden oluşursa index fonksiyonu nasıl çıktı verir?.

imdb = pd.read_excel("Veri_Setleri/imdb.xlsx", index_col="Film_Adı")
print(imdb.head())
Film_Adı Yıl Puan Oylayan_Kişi
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
print(imdb.index)
Index(['The Shawshank Redemption ', 'The Godfather ',
       'The Godfather: Part II ', 'Pulp Fiction', 'The Dark Knight ',
       '12 Angry Men ', 'Schindler's List ',
       'The Lord of the Rings: The Return of the King ', 'Fight Club ',
       'Star Wars: Episode V - The Empire Strikes Back ',
       ...
       'The Artist ', 'Nausicaä of the Valley of the Wind ',
       'Beauty and the Beast ', 'Three Colors: Red ', 'Bringing Up Baby ',
       'Mystic River ', 'In the Heat of the Night ', 'Arsenic and Old Lace ',
       'Before Sunrise ', 'Papillon '],
      dtype='object', name='Film_Adı', length=247)

Gördüğünüz gibi, indeks bilgisi Metinsel veriler olduğunda, index fonksiyonunun çıktısı yukarıda şekilde alınıyor. Çıktıyı incelersek;

name Parametresi

name parametresi, index'in ismini döndürür. Örneğin yukarıdaki Veri çerçevesinin index değerinin başığını öğrenmek içi aşağıdaki kodu kullanabiliriz;

print(imdb.index.name)     # index'in ismini (başlığını) döndürür.

Çıktı:

Film_Adı

name Parametresi ile index ve/veya başlığı değiştirmek;

Elimizde imdb isimli aşağıda gösterildiği gibi bir veri çerçevesi olduğunu düşünelim.

Film_Adı Yıl Puan Oylayan_Kişi
0 The Shawshank Redemption 1994 9,2 1071904
1 The Godfather 1972 9,2 751381
2 The Godfather: Part II 1974 9 488889
3 Pulp Fiction 1994 8,9 830504
4 The Dark Knight 2008 8,9 1045186

Film_Adı isimli sütunu, index verisi olarak kullanmak istersek aşağıdaki kodu kullanabiliriz;

imdb.index = imdb["Film_Adı"]

Çıktı:

Film_Adı Yıl Puan Oylayan_Kişi
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
imdb.index.name = "Movie Name"

Çıktı:

Movie Name Yıl Puan Oylayan_Kişi
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