Numpy Modülü

NumPy, Numerical Python’un kısaltmasıdır. Python programlamadaki en yararlı bilimsel kütüphanelerden biridir. Büyük çok boyutlu dizi nesneleri ve bunlarla çalışmak için çeşitli araçlar sağlar.

Pandas, Matplotlib ve Scikit-learn gibi çeşitli diğer kütüphaneler bu kütüphanenin üzerine inşa edilmiştir. Veri bilimi araç setinin zeminini oluşturur.

Numpy dizileri listelerden farklı olarak sadece tek türde veri içerir. Numpy dizisine farklı veriler tanımlarsanız bile bu veriler aynı veri tipine çevrilir.

Listeler üzerinde matematik veya istatistik işlemleri yapılabilir.

Büyük boyutlu dizileri kolaylıkla işleyebilir.

Normalde Nparray ile integer tipinde elemanları olan bir dizi üretilir. Float tipinde elemanları olan bir dizi üretmek için dtype komutu dtype=np.float  biçiminde kullanılır.

Bir dizinin elemanlarını random sayı ile doldurmak için np.random.rand() metodu kullanılır.

Belli bir atlama değeri ile dizi oluşturmak için np.arange() metodunun kullanılır.

np.arange(10) # array([0,1,2,3,4,5,6,7,8,9])
np.arange(2,10,2) # array([2,4,6,8])

Diziler, bir veya daha fazla boyuta sahip olabilen öğeler/değerler koleksiyonudur.

Tek boyutlu bir dizi vektör, iki boyuta sahip bir dizi ise matris olarak adlandırılır.

NumPy dizileri ndarray veya N boyutlu diziler olarak adlandırılır. Aynı tür ve boyuttaki öğeleri depolar. Yüksek performansıyla bilinir ve dizilerin boyutu büyüdükçe verimli depolama ve veri işlemleri sağlar.

import numpy as np

Numpy Kurulumu

pip install numpy

Numpy Sürüm Kontrolü

import numpy as np 
print(np.version)

Numpy Dizisi Oluşturma

Numpy dizisi oluşturmak için np.array() metodu kullanılır.

ÖRNEK:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
print(type(arr))

Dizi Tipini Tanımlayarak Dizi Oluşturma

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

Dizi Tipini Dönüştürme

astype metodu dizi boyutunu döndürür.

Diziler için veri tipleri aşağıda listelenmiştir.

  • i – integer
  • b – boolean
  • u – unsigned integer
  • f – float
  • c – complex float
  • m – timedelta
  • M – datetime
  • O – object
  • S – string
  • U – unicode string
  • V – fixed chunk of memory for other type ( void )

ÖRNEK:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

Çok Boyutlu Diziler

Tek Boyutlu Dizi Tanımlama

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)

Çift Boyutlu Dizi Tanımlama

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)

Üç veya Daha Fazla Boyutlu Dizi Tanımlama

import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
print(arr)

Dizi Boyutunu Döndürme

ndim metodu dizi boyutunu döndürür.

ÖRNEK:

import numpy as np

a = np.array(42)
b = np.array([1, 2, 3, 4, 5])
c = np.array([[1, 2, 3], [4, 5, 6]])
d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])

print(a.ndim)
print(b.ndim)
print(c.ndim)
print(d.ndim)

Dizi Tipini Döndürme

dtype metodu dizi tipini döndürür.

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

Dilimlemeler

Bir Boyutlu Diziyi Dilimleme

dizim3 = np.array([1,2,3,4,5,6,7,8,9,10])
print(dizim3[1:9:2]) # [2 4 6 8]

İki Boyutlu Diziyi Dilimleme

dizim4 = np.array([1,2,3,4,5],[6,7,8,9,10])
print(dizim4[0:0]) # 1
print(dizim4[1:2]) # 8
print(dizim4[1:0]) # 6

Dizi Kopyası Oluşturma

Orjinaline zarar vermeden aynısının bir kopyasını çıkartır.

ÖRNEK:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
arr[0] = 42
print(arr)
print(x)

Dizi Görüntüsü Oluşturma

Dizinin birebir aynısının bir görüntüsünü yapar. Orjinali değişince görüntüsü de değişir.

ÖRNEK:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
arr[0] = 42
print(arr)
print(x)

Dizi Birleştirme

concatenate metodu iki veya daha fazla diziyi birleştirir.

ÖRNEK:

import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.concatenate((arr1, arr2))
print(arr)

Dizi Bölme

array_split metodu diziyi verilen adete kadar alt dizilere böler.

ÖRNEK:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr = np.array_split(arr, 3)
print(newarr)

Dizi içi Arama

where metodu dizinin içerisinde verilen değeri arar bulduğu değerin index’ini döndürür.

ÖRNEK:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

Dizi içi Sıralama

sort metodu dizinin içerisini sıralar.

ÖRNEK:

import numpy as np
arr = np.array(['banana', 'cherry', 'apple'])
print(np.sort(arr))