Pandas - Giriş
Cts 09 Temmuz 2022Pandas 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 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
- İndeksli DataFrame (veri çerçevesi) objeleri ile veri işlemesi yapabilmek.
- Hafızadaki veya farklı türlerde bulunan veriyi okuyabilmek ve yazabilmek için araçlar sağlamak.
- Veri sıralama ve bütünleşik kayıp veri senaryolarına karşı esnek imkanlar sunmak
- Veri setlerinin tekrar boyutlandırılması veya döndürülmesi.
- Etiket bazlı dilimleme, özel indeksleme ve büyük veri setlerini ayrıştırmak
- Veri çerçevesine sütun ekleme veya var olan sütunu çıkarma/silme.
- Veri gruplama özelliği ile ayırma-birleştirme uygulamaları yapılabilmek.
- Veri setlerini birleştirilmek ve birbirine eklemek.
- Çok boyutlu veriden, daha az boyutlu veri elde edilebilmek.
- Veri filtrelemek.
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.