Python Sürümler (Versions)
Python’un 3.0 ve üzeri versiyonunda geçmişteki versiyonlarda bulunan bazı hatalar giderildi. Dilin kullanımı büyük ölçüde aynı kalsa da, farklılıklar geriye doğru uyumluluğu etkileyecek kadar köklü oldu. Eski versiyon Python’un gelişimi 2.7 versiyonunda durduruldu. Artık sadece Python 3 üzerinde geliştirmeler yapılıyor.
Bilimsel programlama ihtiyaçları açısından iki versiyon arasındaki fazla bir fark bulunmuyor. Hatta Python 2 ve Python 3 yorumlayıcıları sisteminizde birlikte bulunabilir. Bu yorumlayıcıların kendilerine ait sistem klasörleri olacak ve ilgili kütüphanelerin 2.7 ve 3.x versiyonlarını ayrıca kurmak gerekir. Python 3 ileri yönlü oluşturulacak projeler açısından daha uygun ama bazı bilimsel kütüphaneler ve Spyder, Enthought gibi araçları Python 3'e dahil edilmedi. Python 2.7 sürümü, Python 3 çıktıktan sonra tamamlandığı için Python 3 yeniliklerinin bazıları 2.7’ye de eklendi ve otomatik aktarmaları kolaylaştıracak özellikler de eklendi. Yapılacak projeler açısından Python 2.7 ve 3.x arasında çok az fark bulunuyor. Hangi Python versiyonun kullanılacağı tamamen geliştiricinin tercihidir.
Python'un
günümüzdeki popülerliğinin en önemli sebeplerinden biri de hesaplama gerektiren
bilimlerdeki işlevselliğidir. Üst seviye bir programlama dili olan Python bu
işlevselliği sayesinde alt seviye programa dillerinde (C, C++, Fortran)
yapılabilen karmaşık büyük çaptaki hesaplamaları kıyaslanabilir bir
performansta, kullanıcıya büyük kolaylıklar sağlayarak
gerçekleştirebilmektedir. Python fonksiyonelliğini modül, paket veya kütüphane
olarak adlandırılan eklentilerle sağlar. Bu paketlerden en önemlileri Numpy,
Matplotlib, Pandas ve Scipy kütüphaneleridir.
Numpy
Numpy genel
olarak dizi, vektör ve matris hesaplamaları için özelleşmiş bir kütüphane olup,
büyük çaptaki veri kümeleri üzerinden işlem yapmayı kolaylaştırır. NumPy,
Numerical Python yani Sayısal Python‘un kısaltılmış halidir. En önemli
işlevleri:
1. Hızlı
çalışan çok boyutlu diziler
2. Diziler ve
dizi ile çalışan matematiksel işlemler
3. Dizi tabanlı
veri setleri oluşturma, okuma ve yazma işlemleri
4. Lineer cebir
işlemleri, Fourier dönüşümleri, rastgele sayı üreteci gibi işlemler
Matplotlib
Matplotlib, grafik işlemleri
ve iki boyutlu görselleştirme işlemleri için en çok kullanılan Python kütüphanesidir.
İlk olarak John D. Hunter tarafından geliştirilmiş olup, şimdi ise geniş
bir geliştirici ekibi tarafından geliştirilmektedir. Özellikle IPython gibi
etkileşimli ve görsel alanlarda kullanım için uygundur.
Pandas
Pandas
Pandas, veri yapıları için çok uygun bir kütüphanedir.
En çok kullanılan nesnesi DataFrame’dir. NumPy’daki veri yapısı
ile Excel ve SQL gibi ilişkisel veri yapılarını
işleyebilir ve index oluşturabilir. Ayrıca finansal işlemler yapan kullanıcılar
için çok sayıda zaman serisi fonksiyonu içerisinde barındırır. Finansal
işlemler için gerekli birçok işlemi çok iyi bir performansla gerçekleştirebilir.
Scipy
Scipy ise bünyesinde, sık kullanılan matematiksel
fonksiyonları ve fiziksel problemlerinin ifade edilmesine yönelik fonksiyonları
barındırmaktadır. En önemli işlevleri:
1. İntegral ve diferansiyel denklem çözümleri
2. Lineer cebir işlemleri
3. Optimizasyon problemleri
4. Sinyal işleme problemleri
5. Çeşitli istatistik fonksiyonları ve testleri
Anaconda
Anaconda (ticari kullanım ve yeniden dağıtım içinde dahil) tamamen ücretsiz Python dağıtımıdır. Bu dağıtım bilim, matematik, mühendislik ve veri analizi için en popüler Python paketlerinden birisidir.
Download Anaconda Windows (Python 3.5)
Anaconda kurulumu ile birlikte gelen Jupyter Notebook sunucu yoluyla bağlanılır. Bağlantıyla eş zamanlı olarak tarayıcıda Jupyter Notebook sayfası açılacaktır. examples.ipynb uzantılı dosyaları Upload ile sunucuya yükleyerek daha kullanışlı ve gerçek zamanlı çalıştırılabilir kod blokları oluşturulabilir. Yazının sonunda Python Programlama ile ilgili Jupyter Notebook sayfaları eklenecektir.
Anaconda
Anaconda (ticari kullanım ve yeniden dağıtım içinde dahil) tamamen ücretsiz Python dağıtımıdır. Bu dağıtım bilim, matematik, mühendislik ve veri analizi için en popüler Python paketlerinden birisidir.
Download Anaconda Windows (Python 3.5)
Anaconda kurulumu ile birlikte gelen Jupyter Notebook sunucu yoluyla bağlanılır. Bağlantıyla eş zamanlı olarak tarayıcıda Jupyter Notebook sayfası açılacaktır. examples.ipynb uzantılı dosyaları Upload ile sunucuya yükleyerek daha kullanışlı ve gerçek zamanlı çalıştırılabilir kod blokları oluşturulabilir. Yazının sonunda Python Programlama ile ilgili Jupyter Notebook sayfaları eklenecektir.
Jupyter Notebook Sunucu Sayfası |
Jupyter (IPython)
IPython kullanımı iligili birçok özellik içeriyor:
1. IPython Python kullanarak en iyi şekilde yardımcı olmak için zengin bir araç seti sağlar.
2. Güçlü bir Python kabuğu (terminal ve Qt-tabanlı).
3. Sihirli işlevleri, takma adlar ve UNIX kabuk gibi IPython tamamlama özelliklerini barındırır.
4. Etkileşimli veri görselleştirme için GUI araç desteği bulunuyor.
5. Kullanımı kolay, paralel hesaplama, yüksek performanslı araçlar sunuyor.
Python'un kendi kabuğundan biraz daha gelişmiş bir alternatif. Qt tabanlı versiyonunu kullanıldığında sayfa içerisinde grafik çizebiliyor olması(matplotlib) iyi özelliklerinden birisidir. IPython programı etkileşimli hesaplamalar için kolaylık sağlamak üzere tasarlanmış. Basit Python yorumlayıcısında bulunmayan dökümantasyon, komut tamamlama, işletim sistemiyle kolay etkileşim, önceki oturumlardaki komut tarihini saklama, komutların çıktılarını önbelleğe alma ve daha nice kolaylıklar içeriyor. En sade haliyle komut satırında (terminalde) çalıştırılabilir. Ayrıca grafik arayüzlü “Qt Console” versiyonu gömülü grafikler gösterebiliyor.
Aşağıdaki Mastering Python of Data Science.ipynb adlı dosya ve klasörleri kullanıcı (C:\Users\Burak Tahtacıoğlu) dizin altına kopyalayarak veya Jupyter sunucu sayfasından Upload ile çalıştırılabilir.
Aşağıdaki Mastering Python of Data Science.ipynb adlı dosya ve klasörleri kullanıcı (C:\Users\Burak Tahtacıoğlu) dizin altına kopyalayarak veya Jupyter sunucu sayfasından Upload ile çalıştırılabilir.