Veri Bilimi İçin Ralli Maratonu Etap — 19.ipynb

Bekir Öndeş
4 min readDec 31, 2021

Python Kütüphanelerine Giriş — NumPy — 4

NumPy kütüphanesi ile kullanacağımız son metotlara bakalım ve hafiften matematiksel işlemlere değinelim.

İlk olarak sum() metoduna değinelim.

sum():

Metodumuzu kullandığımızda oluşturduğumuz bir dizi içerisindeki elemanların toplamını verir. İstersek axis=0, istersek de axis=1 yapıp toplanması gereken yerleri belirtebiliriz.

sum() Kullanımı

axis = 0 ile satır sayılarını topladı, axis = 1 ile de sütun sayılarını toplayıp bir dizi halinde bize gösterdi.

Peki farklı bir veri ile toplama işlemi yapabilir miyiz? Elbette yapabiliriz, hemen görelim. Daha önceden gördüğümüz bize sadece bir değeri üreten metodu kullanıp toplama, çıkarma, bölme ve çarpma işlemi yapalım.

Verileri ile İşlemler Yapmak

Görsele baktığımızda işlemlerin kusursuz bir şekilde yapıldığını gözlemlemekteyiz. “ / “ sembolü yerine “ * “ sembolünü kullandık. Bir sayısı etkisiz eleman olduğu için bölme işlemi yapmadık.

Hatta işlemlerimizi veriler arasında değil de doğrudan bir değer ile çarpabiliriz, toplayabiliriz veya çıkarabiliriz

Verileri ile İşlemler Yapmak — 2

NumPy kütüphanesi bize istatistiksel sonuçlarda döndürür. Bu sonuçları almak için kullanacağımız bazı metotları görelim.

→ array_value.min() : Verimizde bulunan en küçük değeri döndürür.
→ array_value.max() : Verimizde bulunan en büyük değeri döndürür.
→ array_value.sum() : Verimizde bulunan elemanların toplamını verir.

min(), max() ve sum() Metot Kullanımı

Şimdi ise başka bir metodumuz var. Rastgele sayılar üreten bir metot olan random.random() metoduna odaklanalım.

random.random():

random.random() Kullanımı

Bize rastgele beş adet değer üretti.

random.Generator.integers:

random.integers() metodunun kullanımı biraz karışık olabilir. İlk olarak kullanmak istediğimiz metot biraz uzun olduğundan bir tane değişkene atayalım. Şimdi ise yapısını görelim. Metodumuzun alacağı parametre sayıları birden fazladır. Onları hemen görelim.

random.Generator.integers Yapısı

Yapımızı inceledikten sonra birer örnek ile gösterelim.

random.Generator.integers Örnekleri

Görselimize baktığımızda son örnekte, başlangıç değerimizi dizi olarak tanımladığımız gibi bitiş değerlerimizi ise yine bir dizi olarak belirtebiliriz. Bitiş değerlerimizin iki boyutlu olduğuna dikkat ediniz.

Şimdi de oluşturacağımız bir dizide benzersiz öğeleri bulmak için bir metot kullanacağız. Dizi oluştururken artık tek tek yazmamıza gerek yok. random.integers() metodunu kullanarak istediğimiz sayıda ve istediğimiz aralıkta dizi oluşturabiliriz.

Benzersiz elemanları bulmak için; birbirine benzeyen eleman oluşturmamız lazım. Bu yüzden random.integers() metodunu kullanırken başlangıç ve bitiş değerini birbirine yakın seçelim ki bazı elemanlarımız benzer olsun ve benzersiz elemanları seçsin. Kullanacağımız metot ise np.unique() olacaktır.

np.unique():

Kullanacağımız metodun amacı, verilen bir dizide tekrar eden elemanlardan sadece bir tanesini almak. Yani birbirine denk elemanların benzersiz olmasını sağlamaktır. Hemen örnekte görelim.

np.unique() Kullanımı

Matematiksel işlemlere devam ederken; matrislere değinelim ve bir matrisin transpozu nasıl alınır?. Bildiğimiz gibi matrisler iki boyutludur ve bizde bir adet iki boyutlu bir dizi oluşturalım.

np.transpose():

İlk olarak transpose ne anlama gelmektedir bir bakalım.

→ transpose : Matris işlemlerinde verilen iki boyutlu dizinin, satırlarını sütun, sütunları satır yapar. Transpose matrisin tersi değildir.

Hemen bir örnekte görelim.

np.transpose() Kullanımı

Görselimize baktığımızda [ 1 , 2 , 3 ] ve [ 4 , 5 , 6 ]satırının sütun olarak gözlemlemekteyiz.

Peki transpose matrisin tersi değil ise bize verilen diziyi nasıl tersine çevirebiliriz? Hem bir boyutlu hem de iki boyutlu olarak örnek üzerinden görelim. Tersini almak için flip() metodunu kullanacağız.

np.flip():

np.flip() Kullanımı

İki boyutlu bir dizide ilk olarak satır alanları için tersini aldı. Ardından yer değişimi yaptığı satırın, sütunlarının tersini aldı.

NumPy kütüphanesi için aktaracaklarım bu kadardı. Dört bölümde anlatmaya çalıştım. Mutlaka değinmediğim yerler vardır. Değindiğim yerler ise çoğunlukla kullanabileceğimiz konulardı.

Diğer yazımda görüşmek üzere.

--

--