• Sonuç bulunamadı

4.1 Giri¸s 61

4.2.2 DataFrame

DataFrame, iki boyutlu- tablo ¸seklindeki veri türüdür. Serilerden farklı olarak, sütunlar yer alır ve her sütun farkı veri tipi ta¸sıyabilir. Tablo 4.2’de DataFrame yapısı gösterilmi¸stir. Seriler de oldu˘gu gibi DataFrameler’de de indeks bulunur. ‘Ad’, ‘Ders’ ve ‘Final’ olu¸sturulan DataFrame’in sütunlarıdır.

DataFrame Olu¸sturma ve Temel ˙I¸slemler

DataFrame olu¸sturmak için birkaç yöntem kullanmak mümkündür. Bunlardan ilki dictionary (sözlük) türünden üretilen Dataframe’dir. ¸Sekil 4.11’de sözlükten DataFrame olu¸sturma i¸slemi gösterilmi¸stir. Di˘ger bir yöntem ise önceki bölümde üzerinde çalı¸stı˘gımız serilerden Dataframe’in sütunlarını olu¸sturmaktır. Örnek 4.12 ilk olarak, de˘gerleri rastgele 0 ile 1 arasındaki sayılardan olu¸san be¸s

4.2 Python Pandas Kütüphanesi Uygulamaları 71 Tablo 4.2: DataFrame Yapısı

DataFrame

˙Indeks Ad Vize Final 0 Ali 84 70 1 Ay¸se 65 83 2 Ahmet 75 90 3 Mehmet 90 85

¸Sekil 4.11: Sözlükten DataFrame Olu¸sturmak

elemanlı bir seri olu¸sturulmu¸stur. Bu seri df2 adındaki dataframe’in ilk sütunu olarak tanımlanmı¸s ve sütun ‘1’ olarak adlandırılmı¸stır. df2’nin ikinci sütunu ise birinci sütununun iki ile çarpılması sonucu elde edilmi¸stir.

Eleman Seçme

DataFrame sütunlarına ula¸smak için columns, indekslerine ula¸smak için index ve elemanlarına ula¸smak için ise values özelli˘gi kullanılır. Olu¸sturdu˘gunuz frame adından sonra nokta ve ardından tab tu¸suna basarak kullanmak isteyebilece˘giniz özelliklere ula¸sabilirsiniz. Bu i¸slem yapıldıktan sonra kullanılabilecek özellikler listelenir. ¸Sekil 4.13’te gösterilmi¸stir.

df’nin elemanlarına ula¸smak için ¸Sekil 4.4’te values özelli˘gini kullanılmı¸stır.

Aynı yöntem ile kolon isimlerine ula¸stıktan sonra sadece seçmek istedi˘gimiz kolona ait elemanları listeleyebiliriz. ¸Sekil 4.15’te yer alan örnekte bunun için iki farklı yöntem kullanılmı¸stır:

¸Sekil 4.16 indeks de˘gerlerine göre seçme i¸slemi yapmak için a¸sa˘gıdaki komut takip edilmelidir. Aynı anda birden fazla satır seçmek için ¸Sekil 4.17’de yer alan yöntem kullanılır.

E˘ger belirli bir aralıktaki satırların seçilmesi gerekiyorsa ¸Sekil 4.18’de yapıldı˘gı gibi aralık belirtmek için ’:’ i¸sareti kullanılır.

4.2 Python Pandas Kütüphanesi Uygulamaları 73

¸Sekil 4.13

¸Sekil 4.14

¸Sekil 4.16: ˙Indekse Göre Seçme

¸Sekil 4.17

4.2 Python Pandas Kütüphanesi Uygulamaları 75 Son olarak, e˘ger framedeki tek bir elemana ula¸sılmak istenirse, bunun için önce kolon adı ve sonra indeks numarası yazılarak seçme i¸slemi gerçekle¸stirilir. ( ¸Sekil 4.19)

¸Sekil 4.19

Tek elemana ula¸smak için kullanılan bir yöntem ise ’loc’ metodudur. ’loc’ metodunun kullanımı ¸Sekil 4.20’de gösterilmi¸stir.

¸Sekil 4.20

Satır/Sütun Ekleme, De˘gi¸stirme, Silme

Mevcut frame’de bir elemanı de˘gi¸stirmek için yukarıda gördü˘gümüz seçme yöntemleri kullanılır. Seçilen elemana yeni de˘ger atanarak de˘gi¸stirme i¸slemi gerçekle¸stirilmi¸s olur.Bunun için kullanılacak

en iyi yöntem loc metodudur. ( ¸Sekil 4.21) (Kaynak: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy)

¸Sekil 4.21

Yeni bir sütun eklemek için yeni sütunun ismi ve de˘gerleri atanmalıdır. ¸Sekil 4.22’de yer alan örnekte Örnekte yeni de˘gerler Final ve Vize de˘gerlerinin ortalamasının alınması ile olu¸sturulmu¸stur. ˙Istenilen de˘gerlerin dizi ¸seklinde tanımlanmasıyla da yeni sütun olu¸sturulabilir.

Yeni bir satır eklemek için, Seçme i¸slemlerinde kullandı˘gımız ‘ix’ metodu ile yeni indeks nu-marasını belirleyerek atama yapabiliriz. Örnekte, indeks numarası 4 olan yeni bir ö˘grenci eklenmi¸stir. ( ¸Sekil 4.21)

Satır ve sütunlar için yapılmak istenen de˘gi¸stirme i¸slemleri de ekleme i¸sleminde yapılan i¸slem-lerin tekrarı ile olu¸sturulur.

¸Sekil 4.22

¸Sekil 4.23

4.2 Python Pandas Kütüphanesi Uygulamaları 77 Tablodan herhangi bir sütunu silmek için ’del’ komutu kullanılır. Bu komutun kullanımı ¸Sekil 4.24’te yer almaktadır.

Tabloadan herhangi bir satır silmek için drop metodu kullanılır. Bu metodun kullanımı ¸Sekil 4.25’te gösterilmi¸stir.

¸Sekil 4.25

Dosya Okuma ve Yazma ˙I¸slemleri

DataFrameleri olu¸sturabilece˘gimiz gibi herhangi bir formatta bulunan veri setlerini de çalı¸sma-larımızda kullanabiliriz. Bu bölümde bunlardan en sık kullanılan csv dosyası okuma ve yazma i¸slemleriniz gerçekle¸stirece˘giz. En çok kullanılan dosya okuma ve yazma metodları a¸sa˘gıda tablo olarak verilmi¸stir. Farklı türlerdeki verileri (csv, JSON, excel, html vb.) Pandas kütüphanesini kullanarak kolaylıkla çalı¸smalarımızda kullanabiliriz.

Tablo 4.3: https://pandas.pydata.org/pandas-docs/stable/io.html Format Veri Türü Okuma Yazma

text CSV read_csv to_csv text JSON read_json to_json text HTML read_html to_html binary MS Excel read_excel to_excel binary HDF5 Format read_hdf to_hdf

SQL SQL read_sql to_sql SQL Google Big Query read_gbq to_gbq

Csv dosyaları (comma separated value) virgülle ayrılmı¸s verilerden olu¸san dosya türüdür. ( ¸Sekil 4.26) Herhangi bir dosya türünü çalı¸sma sayfanızda okumak için dosyanın aynı dizinde bulunması gerekmektedir. Dosyayı yüklendikten sonra read.csv() metoduna dosyanın ismi yazılarak ula¸sılabilir.

Örnekte okutulan csv dosyasından bir frame olu¸sturulmu¸stur. Filmler tablosu; filmin puanı, ismi, türü, süresi ve oyuncu listesinden olu¸smaktadır. A¸sa˘gıda, daha önce anlatılan seçme ve filtreleme yöntemleri kullanılarak bu tablo üzerinden örnekler hazırlanmı¸stır.

1. ˙Ilk örnekte, star_rating yani puanı 9 ve üzerinde olan filmleri listeleme i¸slemi yapılmı¸stır. ( ¸Sekil 4.27);

¸Sekil 4.26

4.2 Python Pandas Kütüphanesi Uygulamaları 79 2. ¸Sekil 4.28’de bulunan, puanı 8.5 üzerinde olan ve türü komedi olan filmleri listelemek için iki sorgu ve (&) ko¸suluyla birbirine ba˘glanmı¸stır.

¸Sekil 4.28

3. ¸Sekil 4.29’da türlere göre toplam film sayılarına ula¸smak için groupby() methodu kul-lanılmı¸stır.

¸Sekil 4.29

Örnekte, Groupby() metodu ile filmler türlerine göre sınıflandırılmı¸s, Count() metodu ile de her türe ait film sayısı hesaplanmı¸stır. Olu¸sturulan bu yeni tablo mt adında yeni bir frame atanmı¸s ve bu framedeki ilk 5 satır head() metodu ile listelenmi¸stir.

Son örnekte hazırlanan mt tablosunu bir csv dosyasına yazdırmak için to_csv() metodu kul-lanılarak olu¸sturulacak dosyanın adı tanımlanmı¸stır. ( ¸Sekil 4.30)

¸Sekil 4.30

Bu dosyaya Home sekmesinden ula¸sarak gerekli ise kaydedilir.

Benzer Belgeler