Günümüzde en popüler ve sıklıkla bahsedilen konu veri analizi, nam-ı diğer ‘Data Analysis’… Peki veri yönetimi veya manipülasyonunu nasıl yapmak daha doğru olur? Doğru olandan bahsederken sanırım artık günümüzde basiti ve hızlıyı işaret etmeliyiz. Bu noktada da tüm oklar Python’ı işaret ediyor. Ve tabii ki onun eşsiz iki kütüphanesi NumPy ve Numpy’dan doğma Pandas…
NumPy, bilimsel hesaplamalarda ve işlemlerde kullanılıyor. Bu paket ile birlikte N-Dimensiyonel arrayleri manipüle edebildiğiniz ve hızlıca yaratabildiğimiz, linear cebirden, Fourier Transformasyona kadar tamamen matematiğin gücünü kullanabildiğiniz eşsiz kütüphane… Güzel özelliklerinden birini örnek vermek gerekirse; arrayleri broadcast edebiliyor, böylece orijinal array üzerinde canlı bir şekilde, başka bir değişkene kopyalamaya gerek kalmadan değişiklik yapabiliyorsunuz. Bu da memory problemini ortadan kaldırıyor.
Resim-1
Pandas tarafına geçecek olursak ise işte ‘Data Analysis’ burada başlıyor diyebiliriz. Verileri irdelediğimiz, manipüle ettiğimiz kısım da burası. Pandas’ı Microsoft Excel olarak da düşünebiliriz. Burada ek olarak web sitelerinden html tagleri okuyarak veri çekebiliyor, bunu istediğimiz platforma (sql, excel, csv vb.) aktarabiliyoruz. Tabi ki ‘merge, join ve concatenation’ gibi global işlemleri de rahatlıkla pandas’in içerisinde bulunan fonksiyonlarla yapılabiliyor, verileri istediğimiz gibi yönetebiliyoruz. Ancak ben çok detaya inmeden, bu makalemde daha çok bir web sitesinden veri çekme, csv veya excel’den veri okuyup sql’e aktarma gibi işlemleri kısaca kod üzerinden göstererek Pandas’ın gücüne dikkat çekeceğim.
Mesela aşağıdaki gibi bir excelimiz olsun:
Resim-2
Bu exceli Pandas ile okumak ve onu yönetmek çok basit. Bu excelimizi sonrasında sqlalchemy kütüphanesini kullanarak veritabanına aktarabiliriz.
Not: Sqlalchemy kütüphanesini edinmek için conda install sqlalchemy veya pip install sqlalchemy komutunu cmd’den çalıştırmalısınız.
Resim-3
Gördüğünüz üzere excel’deki veriyi sql’e atarak, oradan başarıyla okuduk. Şimdi ise kısaca bir web sitesinden veri okumayı göstermek istiyorum. Mesela banka şube bilgilerinin yer aldığı bir linki (https://www.tbb.org.tr/modules/banka-bilgileri/banka_sube_bilgileri.asp) ele alalım ve web sitesinin görüntüsü de aşağıdaki gibi olsun.
Resim-4
Kod tarafında yapmamız gereken ise çok basit:
Resim-5
Ve elde ettiğiniz veri içerisinde arzu ettiğinizi NumPy ve Pandas kütüphanelerini kullanarak yapabilirsiniz. O artık sizin talebinize göre, yapmak istediğinize göre değişkenlik gösterecektir. Ancak bir örnek vermek gerekirse istenilen veriyi aşağıdaki gibi adresleyebilirsiniz:
Resim-6
Bu makalemde kısaca NumPy ve Pandas’tan bahsetmeye ve biraz da olsa fikir vermeye çalıştım. Detaylı bilgileri ve fonksiyonların tamamını pandas’ın resmi sayfasından bulabilirsiniz.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: NumPy nedir, Pandas nedir, Data Analysis, N-Dimensiyonel arrayler,Pyhton, NumPy,Pandas