Pandas, En Güçlü Python Kütüphanelerinden Biri

Herkese merhaba, bugün hep beraber Pandas kütüphanesine göz atacağız. Neden Pandas ve elimizi nasıl kuvvetlendiriyor hep beraber inceleyelim. Data Science ile uğraşan herkesin birkaç dakika sonra ismini duymaya başladığı hatta kullandığı Pandas aslında ismini çok şaşırtmayacak biçimde “Python Data Analysis Library” kısaltmasından alıyor. Tabi PDAL diyebilirlerdi fakat kabul edelim çok daha güzel bir isim tercihi olmuş.

Datalarla zaman geçirmek ve onları anlamlandırmak istediğinizde yardımınıza bu kadar koşmasının sebebini ve nasıl kullanabileceğimize bir göz atalım.

Aslında Pandas temel itibariyle çeşitli veri saklama tiplerini işleyerek ondan anlamlı veriler çıkarmamıza yarıyor. Bunu da data’yı data frame denen objelere çevirerek yapıyor. Peki nedir bu data frame? Başka bir yazının konusu olabilecek kadar bahsedilebilir fakat kısaca tablo benzeri bir yapıya sahip data structure konusudur. Elinizde olan .csv, .tsv, excel JSON, HTML hatta SQL tablolarını data frame olarak objeleştirip kullanabilmeniz oldukça işe yarar olacaktır. Bu sayede farklı tipte bulunan dataları aynı yöntemle manipüle edebilecek ve işleyebileceksiniz. Aşağıda Pandas’ın kendi sitesinden alınmış, hangi veri türlerinde etkili olduklarını gösterdikleri tabloyu paylaşmak istiyorum. Oldukça heyecan verici değil mi?

Hazır lafını etmişken, Pandas ile ilgili tüm dokümantasyona kendi siteleri olan https://pandas.pydata.org üzerinden ulaşabilirsiniz. Merak ettiğiniz her şeyin cevabını bulabileceksiniz.

Yavaştan birkaç örnek ile isterseniz inceleyelim. Öncelikle Pandas’ı kullanabilmek için onu yüklemeniz gerekiyor. Ben şahsen projelerimde Anaconda’dan “Jupyter Notebook” kullandığım için ek bir işlem yapmadan kullanabiliyorum. Pandas yüklendikten sonra onu sadece import etmek gerekiyor. Pandas, Numpy kütüphanesine dependent olduğu için onu da import etmeyi unutmuyoruz. Peki sonuç? Herkesin mutlaka gördüğü şu iki satır.

import pandas as pd
import numpy as np

Şimdi bir .csv dosyası üzerinde birkaç işlem yapalım ve bir .csv dosyasını okumanın ne kadar kolay olduğunu görelim. Örnek olarak elimde çalışanların maaşları hakkında bilgilerin bulunduğu bir .csv dosyası mevcut. Bu dosyayı import etmek oldukça kolay. İlgili kütüphanelerimizi import ettikten sonra,

Tek satır kod ile salaries.csv dosyasını bir data frame objesi haline dönüştürüyoruz. Peki doğru mu yaptık işlemi? Nasıl kontrol ediyoruz? Burada da yardımımıza head() methodu yetişiyor. İlgili data frame’in sadece head kısmını bize gösteriyor.

Peki içeride çok fazla data olduğunu varsayalım, şöyle hızlıca bize birkaç hap bilgi verse, içeride neler olup bittiğini anlasak. Örneğin en düşük maaş nedir, ortalama maaş nedir gibi. Burada da yardımımıza describe() methodu koşuyor.

Diğer bir method ise info(),

Gördüğünüz gibi elimizde bulunan data’ya hızlıca bir göz atarak belli seviyede bir bilgiye ulaşmamız bu kadar hızlı.

Birkaç örnek ile daha devam edelim. Örneğin en fazla mesai ücreti alan kişi kim? Hemen bulalım,

Ya da en düşük mesai ücretini kim almış?

Bazı önemli methodlar’ı yazmak gerekirse;

· df.mean(), data frame’in tüm kolonlarının ortalama değerini

· df.corr(), kolonlar arasındaki korelasyonu

· df.count(), kolonlarda bulunan değerlerin sayısını

· df.median(), kolonların medyan değerini

· df.max(), kolonların maksimum değerini

· df.min(), kolonların minimum değerini

size verecektir. Eğer sadece spesifik kolon veya kolonlar için işlem yapmak isterseniz bunu df[‘kolon_ismi’] şeklinde belirtmelisiniz.

Artık belli bir fikir olgunluğuna ulaştınız, diyelim ki sadece mesai ücreti 1000$’dan fazla olanlar ile işlem yapmak istiyorsunuz,

Elinizde bulunan data frame içine istediğiniz logic’i yazarak kendinize yeni data frame’ler oluşturabilir, bunları yeni objelerde saklayabilir, ileride kullanabilir veya kendi business logic’leriniz için daha farklı data frame’ler oluşturmakta kullanabilirsiniz.

Gördüğünüz gibi oldukça hızlı bir şekilde elimizde olan dataset hakkında bilgi edinmemizi sağlayan çok güçlü bir kütüphane, yukarıda yaptığım birkaç işlem buz dağının görünen kısmı bile değil demek sanırım yalan olmaz. Bir çok dosya tipinde çok çeşitli işlemleri yapabiliyoruz. Bu işlemler daha sonra işimize yarayacak olan yeni data frame’ler oluşturmamızda ve bu data frame’leri oluştururken “Elimizde ne var?” sorusuna cevap aradığımızda çok yardımcı olacaklar.

Daha fazla bilgi almak için lütfen Pandas’ın kendi sitesinde bulunan dokümantasyon sekmesine göz atın. Datalar ile uğraştığınız süre boyunca yanınızda size yardım etmek için bulunacak olan bu açık kaynak kütüphaneyle ne kadar çok pratik yaparsanız o kadar iyi. Lütfen siz de bir dataset ile ilgili fikir edinmek için alıştırmalar yapınız.

Bu yazımı okuduğunuz için çok teşekkürler!

Sweden-based full-time developer, and lifelong learner. Loves to learn and experience. Motto: Stay Hungry, Stay Foolish | @anilemrah_

Sweden-based full-time developer, and lifelong learner. Loves to learn and experience. Motto: Stay Hungry, Stay Foolish | @anilemrah_