Merhaba arkadaşlar bu yazımda python programlama dilinde en çok kullanılan kütüphanelerden olan numpy nedir ve nasıl kullanılır açıklamaya çalışacağım.

Numpy Nedir ve Nasıl Kullanılır ?

Merhaba arkadaşlar bu yazımda python programlama dilinde en çok kullanılan kütüphanelerden olan numpy nedir ve nasıl kullanılır açıklamaya çalışacağım.

Numpy kütüphanesi bilimsel hesaplama  işlemleri kolaylaştırmak için yazılmış olan bir python kütüphanesidir. Bir makine öğrenmesi, görüntü işleme ve yapay zeka konularında çalışma yaparken sıkça hesaplama işlemleri yapılmaktadır. Hesaplama işlemleri ve dönüşüm işlemlerinde sıkça kullanılan kod yapısı numpy kütüphanesi ile basit bir seviyede ve az kod yazacak şekilde tasarlanmıştır. Matematiksel işlemleri çok hızlı yapmasından dolayı sıkça kullanılan bir kütüphanedir.

Kısaca numpy neden kullandığımızı açıklamaya çalıştım.Şimdi ise projelerimizde nasıl kullanıyoruz öğrenmeye başlayalım. Numpy kütüphanesini projede kullanmak için projeye import etmek yeterlidir. Daha sonra array üzerinde numpy kullanılarak işlemler gerçekleştirelim.

import numpy as np #Projeye dahil ettik

array = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])  # 1*15 vector

print(array.shape) #Vektörün kaça kaçlık olduğu gösterir 15*1 vektör

a = array.reshape(3,5) # 3*5 lik vektöre dönüştürür

print("shape: ",a.shape) #Son oluşan matris 3*5 matris

print("dimension: ", a.ndim) #Matrisin kaç boyutlu olduğunu verir. 2 boyutlu dizi

print("data type: ",a.dtype.name)#Matris içerisinde bulunan verilerin veri tipini verir. int32

print("size: ",a.size) #Boyutu verir

En çok kullanılan metodlardan birisi ise zeros ve ones gibi komutlar vardır. İki boyutlu bir matris üzerinde bu fonksiyonları nasıl kullanıyoruz görelim.

array1 = np.array([[123,2,3,44],[5,64,7,8],[92,83,7,54]])

zeros = np.zeros((3,4) #3*4 lük bir sıfırlar matrisi oluşturur.

zeros[0,1] = 5 #0.satır 1.sütunu 5 değerini atar

print(zeros)

np.ones((3,4)) #Birler matrisi oluşturur.

np.empty((2,3)) #Boş bir array oluşturur.

a = np.arange(10,100,10) # 10'dan başlayıp 100'e kadar 10'ar artırır.

#arange methodu belirlenen aralıklarda belirli artış miktarı olacak şekilde sayı oluşturur

print(a)

a = np.linspace(10,50,20)#10 ve 50 arasında 20 tane sayı oluturur.

print(a)

Numpy üzerinde matematiksel işlemler yapmak için kullanılan temel fonksiyonları ele alalım.

a = np.array([1,2,3]) #Dizileri oluşturduk
b = np.array([4,5,6])

print(a+b) #Matrisileri toplamak için normal toplama işlemi gibi a+b yazmamız yeterlidir.
print(a-b)
print(a**2)#Matrisin karesini alıyoruz.

print(np.sin(a))#Sinüs değerini almak için sin kullanılır.


a = np.array([[2,2,3],[1,2,3]])
b = np.array([[2,2,3],[1,2,3]])

print(a*b) #İki matrisin aynı satır ve sütunda bulunan değerlerinde çarpma işlemi yapılır.

#Çıktısı şu şekildedir :[[2,4,9],[2,4,9]]

a.dot(b.T) #iki matrisin satır ve sütun olarak çarpımı

#b.T b matrisinin transpozu alınmıştır.

print(np.exp(a)) #üst değerini almak için exp kullanılır.

a = np.random.random((3,3))# 3*3 lük 0 ve 1 arasında bir matris oluşturur.

print(a.sum()) # İçindeki tüm sayıları toplar
print(a.max()) #Array içerisindeki maksimum sayıyı verir
print(a.min()) #Array içerisindeki minumum sayıyı verir


print(a.sum(axis=0)) #Array içerisindeki sütunları toplamak için 
print(a.sum(axis=1)) #Array içerisindeki satırları toplamak için 

print(np.sqrt(a))  #Array içerisindeki verilerin karakökü almak için sqrt
print(np.square(a)) # a**2 a nın karesini alır.


print(np.add(a,a)) #Matrisi toplama işlemi a+b ile aynı işlemi yapar

Numpy ile yukarıda vermiş olduğum örneklerle işlemleri kolay bir şekilde nasıl yapıyoruz değinmeye çalıştım. Örneğin numpy kullanmadan bir matrisi çarpmaya çalışsaydık döngüler, koşullar ve hata yakalama operatörleri gibi bir çok kod yazmak zorunda kalacaktık.Numpy kütüphanesi ile işlemleri en basit seviyeye indirerek gerçekleştirdik. Numpy hakkında detaylı bir bilgiye sahip olmak için kendi sitesinde bulunan dökümanı okuyabilirsiniz. ( http://www.numpy.org/ ) Bir başka yazımda görüşmek üzere...

Bu Gönderiyi Paylaş

Yorumlar (3)

  • Yaşar

    Teşekkür ederim bu sade ve anlamlı yazınız için .

    2018-07-14 08:22:51
  • Ertuğrul Deniz

    Yaşar bey güzel ve yapıcı yorumunuz için çok teşekkür ederim.

    2018-07-14 14:49:47
  • Umit Topur oglu

    Te$ekkur ederiz hocam elinize saglik, Yunanistanda ya$iyan azinlik Turklerinden selamlar

    2019-02-24 22:27:44

İçerik Hakkında Yorum Yapın

www.000webhost.com