Global bir problem üzerinden başladığım veri analizi çalışmam Pandas üzerinden halen devam ediyor.Çalışmayı yürütürken adeta Pandas Python veri analizi paketine ait kütüphanenin adeta dibini kazmış gibi oldum.Ele aldığım problemin küresel bir sorun olması sebebiyle çok boyutluluk içermesi analiz yapmayı zorlaştırdı. Pandas üzerinde modelleme ve veri analizini yaparken ; Pandas'ın ileri seviye özellikleri ile ilgili online kitaplarda ve hızlı eğitim rehberlerinde yer almayan bazı sorunlarla karşılaştım.
Bu sorunlarla uğraşırken ise indeks dilimleme işi yapan IndexSlice fonksiyonu ile ilgili API rehberinde bir döküman bilgisi eksikliğini fark ettim.Bu bilgi eksikliğine Github platformunda Pandas'ın özel forumunda dikkat çektim. Karşılaştığım sorun ise Excel'de bildiğimiz gibi özet tablo ve grafik çıkaran pivot tablo'nun Pandas 'ta detaylı filtreleme yapması ile ilgiliydi.Açıkçası Pandas üzerinde pivot tablo filtrelemesi yapmak pek de kullanıcı dostu ve pratik değil.Diğer bir yandan da Pandas'ın veri analizinde popüler ve deneyimli rakibi olan R paket programında Pandas'da olduğu gibi tek satırla pivot tablo oluşturma fonksiyonu olmadığını belirtmek de fayda var.R paket programında bu işi yapmak için birkaç satırdan fazla kod yazmak gerekiyormuş.
Diğer bir yandan da Pandas öğrenmek isteyenler ile ilgili kendi deneyimlerimi de paylaşmak istiyorum.Pandas kütüphanesini öğrenmede ve kullanmada API referans ve hızlı pratik bilgiler barındıran tutorial sayfasından faydalanabilirsiniz.Her fonksiyonun kendine özgü parametreleri bulunuyor.Bütün bu parametreleri ezberlemek gerekmiyor, API referans belgesi burada yardımınıza yetişiyor.Tabii ki evdeki hesap çarşıya her zaman uymayacaktır.Gerçek dünya problemlerini çözmede çok farklı sorunlar ile karşılaşabilirsiniz.İşte burada yardımınıza StackoverFlow'un özel Pandas forumu koşacaktır.Bu forum gerçekten çok hızlı ve kaliteli hizmet veriyor.Yazdığınız sorunlara çok hızlı yanıtlar alabiliyorsunuz.
Ve son olarak da Pandas 'la deneyimlediğim hız ve bellek performansından bahsetmek isterim.Diziler üzerinden vektörleştirme işlemleri üzerine oturtulmuş bir programlama çatısına sahip olması sebebiyle Pandas 'ta çok hızlı veri işleme süreçleri yürütülebiliyor.Bir MSSQL kullanıcısı olarak , yüzlerce satırdan oluşan veri tabanlarında yaptığım sorgu işlemlerinde ; işletim sisteminde yaşadığım çökme ve sorgulama hız sorunlarını bir an aklıma getirdim. Ve Pandas bana adeta Şahin marka araçtan Wolkswagen polo tipi bir araca geçiş deneyimini yaşattı. Pandas 'ın kod yazımı da Python gibi olabildiğince sade yapılmış.İlk zamanlar Sql gibi düşünüp sorguları Pandas'a dönüştürmek zor olabilir.Bununla birlikte zamanla bu işin kolaylaşıyor olduğunu kendim görebiliyorum.Bütün bu deneyimlerim küçük ve orta boyutlu veri tabanları için geçerliydi.Big data işleme tarafında ise takip ediyor olduğum Pandas'ın baş geliştiricisi McKinney'e göre bazı problem bulunuyor.McKinney bu problemleri veriye direkt erişim ve veri serileştirme olarak adlandırıyor.Pandas henüz Spark ve Hadoop Map Reduce gibi Big Data işleme araçlarıyla doğal performansta çalışamıyor.Bununla birlikte bu sorunu büyük bir ölçüde çözmek için geliştiriyor oldukları Apache Arrow projesini tamamlamaya da çok yaklaşmışlar.Ve bunun da gelecek Veri Bilimi ve Big Data çalışmaları için çok heyecan verici bir proje olduğunu belirtiyorlar.
Hiç yorum yok:
Yorum Gönder