Pandas - Giriş

Pandas Kütüphanesi Notları

Python'a Giriş konusuna ait notları, FreeCAD için Python ile Komut Dosyası Oluşturma (Scripting) Eğitiminde paylaşmıştık. İlave olarak Python'ın en güçlü ve işlevsel kütüphanelerinden biri olan Pandas'a ait notları paylaşmaya devam ediyorum.

pandas

PANDAS NEDİR?

Python'a Giriş konusu ile alakalı bilgileri, FreeCAD Eğitim Notları bölümünde 1. Python'a Giriş başlığı altında paylaşmıştık. Python'da yeniyseniz ya da Python hakkında hiç bir şey bilmiyorsanız, öncelikle bu bölüme göz atmanızı öneririm.

Önceki bölüme ilave olarak burada, Python'ın en güçlü ve işlevsel kütüphanelerinden biri olan Pandas notlarını paylaşmaya devam ediyorum.

Pandas Kütüphanesinin ne olduğu ve bu kütüphane ile (Özellikle Veri Çerçevesi (Data Frame) konusunda) neler yapılabildiğine dair öğrendiklerimi bu bölümde paylaşıyorum.

Pandas, veri işleme ve veri analizi için yazılmış olan Python kütüphanesidir.

Bu kütüphane, Seriler (Series) ve Veri Çerçevesi (DataFrame) isimli iki veri yapısının üzerine kurulmuştur. Serileri tek boyutlu diziler, Veri Çerçevelerini ise iki boyutlu matrisler (SQL ya da Excel tabloları) gibi düşünebiliriz.

Pandas kütüphanesinin özellikleri

Kütüphane performans konusunda son derece iyidir. Bu yüzden kütüphanenin önemli parçaları CPython ve C üzerinde yazılmışlardır.

NOT:
Eğitimlerde kullandığım Veri Setlerine GitHub adresimden erişebilirsiniz.

Pandas Fonksiyonları

VERİ ÇERÇEVESİ (DATA FRAME) OLUŞTUR

Bu başlık altında, sıfırdan Veri Çerçevesi (Data Frame) oluşturma ya da harici kaynaktan (MS Excel, LibreOfis Calc, CSV, JSON, URL ve Pano'dan) okunarak veri çerçevesi oluşturma konularında kullanabileceğimiz Fonksiyonlar anlatılmıştır.

...... index_col Parametresi

...... delimiter Parametresi

...... header ve names Parametreleri

...... sheet_name Parametresi

...... decimal Parametresi

...... index_col Parametresi

...... usecols Parametresi (Sütunları Atla)

...... skiprows Parametresi (Satırları atla)

VERİYİ KEŞFET (İNCELE)

Bu başlık altında, Veri Çerçevesi (Data Frame) içeriğini, sayısal bazı değerlerini ve biçimlerinin görüntülemeye dair fonksiyonları öğreneceğiz.

VERİ SEÇİM YÖNTEMLERİ

Bu başlık altında, Veri Çerçevesi oluştururken ya da oluşturduktan sonra istenilen satır ve sütunların seçilmesi ya da seçilmemesi konusunda kullanabileceğimiz Fonksiyonları / metotları inceleyelim. Veri çerçevesinde işimize yaramayacak verileri devre dışı bırakmak için bu yöntemleri kullanabiliriz.

......lambda() Fonksiyonu ile koşul belirtmek

EKSİK - KAYIP VERİ YÖNTEMLERİ

Bu başlık altında, Veri çerçevemizde eksik veri (excel tablosundaki boş hücre gibi düşünebiliriz) olup olmadığını, varsa kaç adet olduğunu tespit edebileceğimiz Pandas fonksiyonları mevcuttur. Eksik / Kayıp verileri istersek farklı fonksiyonları kullanarak silebilir ya da istediğimiz değer ile doldurabiliriz.

...... axis Parametresi

...... inplace Parametresi

...... thresh Parametresi

...... value Parametresi

...... method Parametresi

......... backfill

......... bfill

......... pad

......... ffill

......... None

VERİ DÜZENLEME YÖNTEMLERİ

Bu başlık altında, Veri çerçevemizi düzenlemek ve değiştirmek için kullanabileceğimiz fonksiyonlar anlatılmaktadır.

...... axis Parametresi

...... inplace Parametresi

...... subset Parametresi

...... keep Parametresi

......... upper()

......... lower()

......... capitalize

......... contains

VERİ ÇERÇEVELERİNİ BİRLEŞTİR

Pandas Kütüphanesinde Veri çerçevelerini birleştirmek için kullanılabilecek birden fazla Fonksiyon/Metot vardır. Bu başlık altında, bu Fonksiyonların kullanımı anlatılmıştır

...... how Parametresi

......... left

......... right

......... outer

......... inner

...... on Parametresi

...... how Parametresi

......... inner

......... outer

......... left

......... right

......... cross

...... left_on Parametresi

...... right_on Parametresi

...... suffixes Parametresi

VERİ SIRALAMA YÖNTEMLERİ

Oluşturulan Veri Çerçevelerinin, isteğimiz doğrultusunda sıralanması için kullanabileceğimiz yöntemlere, bu başlık altında değineceğiz.

Pandas üç tür sıralamayı destekler ; İndeks (dizin) etiketlerine göre sıralama, Sütun değerlerine göre sıralama ve Her ikisinin birleşimine göre sıralama.)

...... ascending Parametresi

...... axis Parametresi

...... by Parametresi

...... ascending Parametresi

...... na_position Parametresi

...... columns Parametresi

...... index Parametresi

...... axis Parametresi

......... index Seçeneği

......... columns Seçeneği

VERİ FİLTRELEME YÖNTEMLERİ

Pandas kütüphanesi ile en sık yapılan işlemlerden biri de Filtreleme işlemidir. Binlerce, onbinlerce hatta milyonlarca kayıt arasından istediğimize ulaşmak için filreleme komutlarını kullanacağız. Bu bölümdeki anlatılanları da dikkatle okuyup öğrenmenizi tavsiye ederim.

Sütun içerisindeki verilere göre filtreleme uygulamak istersek; VeriCervecesiAdı["SütunAdı"] operatör (==, <, ...vb) "Filtre_Kriteri" yöntemi kullanılabilir.

Pythonda kullanıdığımız Karşılaştırma operatörlerini (< , > , <=, >=, ==, !=, ) ve Mantıksal Operatörleri ( (and, ve) & ve (or, Ya da) | Pandas içerisinde de kullanabiliriz.

Karşılaştırma Operatorleri

Mantıksal Operatörler

GRUPLAMA YÖNTEMLERİ

...... mean() Metodu

...... max() Metodu

...... min() Metodu

...... sort() Metodu

...... count() Metodu

...... value_counts Metodu

DİĞER BAZI FONKSİYONLAR

...... values Parametresi

...... index Parametresi

...... columns Parametresi

...... aggfunc Parametresi

...... fill_value Parametresi

...... margins Parametresi

...... margins_name Parametresi

...... sort Parametresi*

Operatör Kullanımı

Aritmetik İşlem Operatörleri

... sum() Metodu

... mean() Metodu

Toplama, Çıkarma, Çarpma ve Bölme İşlemleri

... Toplama Operatörü

... Çıkarma Operatörü

... Çarpma Operatörü

... Bölme Operatörü

Mantıksal / Karşılaştırma Operatörleri

... Büyüktür (>)

... Küçüktür (<)

... Eşittir (==)

... Eşit Değildir (!=)

... İçerir (contains)

... İçermez / Değil (not)

Pandas Veri Çerçevesi Özet Bilgileri (CheatSheet)

Pandas Veri Çerçevesi (Data Frame) komutlarını (fonksiyon, metot, parametre) bir yerde toplayarak ihtiyaç halinde, farklı konulara ait komutlara daha hızlı ulaşabileceğimiz bir Başvuru Kılavuzu / Özet Bilgi Tablosu (CheatSheet) oluşturmaya çalışıyorum. Başvuru kılavuzunu / Özet Bilgi Tablosunu (CheatSheet) oluştururken, komutları, Pandas Veri Çerçevesi (Data Frame) Konu Başlıklarına göre kategorize etmeyi planlıyorum.

Sayfaya Yeni Konu başlıkları ekledikçe, Özet Bilgi Tablosunu da güncellemeye gayret edeceğim.
Şuana kadar oluşturduğum Başvuru Kılavuzu / Özet Bilgi Tablosu (CheatSheet) na ağaşıdaki bağlantıdan erişebilirsiniz.