NumPy Kütüphanesi Nedir, Nasıl Kullanılır?

Bu gün sizlere Python 'ın bazı sayısal(numeric) işlemlerde yetersiz kaldığı durumlarda kullanabileceğimiz bir kütüphane olan NumPy'dan bahsedeceğim. Özellikle bilimsel hesaplamalarda kullanılan bu kütüphane diğer dillere göre(C, C++) çok daha performanslıdır.

NumPy Nedir?

numpy kütüphanesi nedir, nasıl kullanılır?

NumPy, Python dilinin bilimsel hesaplamlarda kullanılan bir kütüphanesidir. Numerical Python = NumPy adı burdan gelmektedir. Tek boyutlu array yani vektör, iki boyutlu array yani matris ve arrayler gibi hesaplamalar için özelleştirilmiştir. Yüksek performanslı çalışma imkanı sağlar. Listelerle benzer bir yapısı vardır aralarındaki en büyük fark; verimli veri saklama ve vektörel operasyonlardır. Peki nedir bu verimli veri saklama? NumPy'da verimli veri saklama, bir numpy array i oluşturuğumuzda her eleman için tip bilgisi tutmaz yani sabit/ tek tip veri baskısı vardır ve sadece 1 tane tip bilgisi tutar. Bu da performans açısından avantajlıdır.

NumPy kütüphanesini kullanabilmemiz için öncellikle onu kod yazdığımız sayfaya dahil etmeliyiz. Bunu import numpy as np şeklinde yaparız. Tavsiyem dahil etme işlemlerini sayfanın en başına koymanızdır, hem kodun okunurluğu kolaylaşır hem de karışıklığı önlemiş olursunuz.

NumPy Array(ndarray) Oluşturmak

NumPy array i oluşturmanın bir kaç farklı yöntemi vardır. Bunlardan ilki Python'dan bildiğimiz listeler üzerinden oluşturmak. Aşağıda inceleyelim. type metodu biliyoruz ki değişkenin tipini verir. dizi1 de direk değerleri verdik ve o baskın tipi int seçti eğer baskın değişken tipi belirlemek istersek dizi2 gibi yaparız.



import numpy as np 

dizi1 = np.array([1,2,3,4,5])
print(dizi1) #çıktı--> array([1, 2, 3, 4, 5])
type(dizi1) #çıktı--> 'numpy.ndarray'

dizi2 = np.array([1,2,3,4,5], dtype= "float")
print(dizi2) çıktı-->array([1., 2., 3., 4., 5.])

Bir diğer yöntemde sıfırdan ndarray i oluşturmaktır. Bu işlemde kendi içerisinde bir kaç farklı yolla yapılabilir.

  • np.zeros(); Elemanların hepsi sıfır olan ndarray oluşturur. np.ones(); elemanların hepsi 1 olan ndarray oluşturur. np.full(boyut, eleman); Girilen boyut kadar elemandan oluşan ndarray oluşturur.
  • 
    
    import numpy as np 
    a = np.zeros(10, dtype= int)
    print(a) #çıktı--> array[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    #Yukarıda tipi int 10 tane 0 dan oluşan ndarray oluşturduk.
    
    b = np.ones((3,5))
    print(b)
    #çıktı--> array([[1,1,1]
                     [1,1,1]
                     [1,1,1]])
    #Yukarıda 3 satır 5 sutundan oluşan değerleri 1 olan matris oluşturduk.
    
    c = np.full(9,3)
    print(c) #çıktı--> array([3,3,3,3,3,3,3,3,3,3])
    #Yukarıda 9 değerli ve değerlerin hepsi 3 olan vektör oluşturduk.
    
    
  • np.arange(a,b,c);a ile b arasında c kadar artan ndarray oluşturur.
  • 
    
    import numpy as np 
    dizi= np.arange(1,15,2)
    print(dizi) #çıktı-->array([1,3,5,7,9,11,13])
    # 1 ile 15 arası 2 şer 2 şer artan ndarray 
    
  • np.linspace(a,b,c); aile b arası c kadar değerden oluşan ndarray oluştur demek. arange'dan farkı arange float değerlerde sonsuza gidebiliyorken linspace sorunsuz çalışır.
  • 
    
    import numpy as np 
    dizi4= np.linspace(1,2,10)
    print(dizi4)
    #çıktı--> array([1.         1.11111111 1.22222222 1.33333333 1.44444444 1.55555556,1.66666667 1.77777778 1.88888889 2.        ])
    #1 ve 2 arasında 10 tane değerden oluşan ndarray
    
  • np.random.normal(a,b,c);ortalaması a olan , standart sapması b olan ve boyutu c olan ndarray oluşturur.
  • 
    
    import numpy as np 
    dizi5 = np.random.normal(9, 6, (3,2))
    print(dizi5)
    #çıktı-->array([[16.10113748  7.15555834]
                    [ 7.85830339  0.14295859]
                    [ 7.70021908 15.81057273]])
    #ortalaması 9, standart sapması 6 ve boyutu 3x2  lik matris olan ndarray
    
  • np.random.randint(a,b,c); a ile b arası c boyutlu rastgele değerlerle oluşan ndarray oluşturur.
  • 
    
    import numpy as np 
    dizi6 = np.random.randint(1, 9, (2,2))
    print(dizi6)
    #çıktı-->array([[3 6]
                    [8 2]])
    # 1 ile 9 arası değerlerden oluşan 2x2 lik matris olan ndarray
    
Örneğin np.random.randint() nasıl kullanıldığını unuttuysanız başına soru işareti koyup çalıştırmanız yeterli. ?np.random.randint bu işlemi diğer bütün yapılar için deneyebilirsiniz. Oldukça yeterli bir açıklama sunulmuş.

NumPy Array(ndarray) Özellikler

ndim: Boyut sayını verir.

shape: Boyut bilgisi verir.

size: Toplam eleman sayısını verir.

dtype: Array veri tipini verir.



import numpy as np 
dizi7 = np.random.randint(0,5, (5,5))
print(dizi7)
#çıktı-->array([[4 0 2 2 2]
                [1 3 4 4 3]
                [2 1 3 2 1]
                [4 4 3 0 4]
                [4 4 4 3 3]])
print(dizi7.ndim) #çıktı-->2
print(dizi7.shape) #çıktı-->(5,5)
print(dizi7.size) #çıktı-->25
print(dizi7.dtype) #çıktı-->int64

Yaren

Allah'ım; Ruhumu daraltma, Kalbimi karartma, Darda koyup aratma, Hak yolundan saptırma, Beni senden başkasına yalvartma... Amin!

Yorum Gönder

Spam olmayan yorumlar, ekibimiz tarafından denetlendikten sonra yayınlanmaktadır.
Yorumlarınızı yazarken kalın harf, italik harf, üstü ve altı çizili harf özelliklerini kullanabilirsiniz.
Ayrıca dilerseniz yorumlarınıza web site bağlantısı, fotoğraf ve video ekleyebilirsiniz.
İlginiz için teşekkürler.

Daha yeni Daha eski