Numpy içinde en önemli nesne ndarray adı verilen N boyutlu bir dizi türüdür. Python’ın standart veri tipi olan List çok esnek bir yapı kullanıyordu. Veri Yapılarındaki “Bağlı liste” veri yapısının bir versiyonu olan List içine farklı veri tipleri eklenebilir. Fakat, ndarray aynı veri türüne ait bir yapıdır. Başka bir deyişle bellekte aynı boyutta ve sıralı verilerden oluşur. Aynı listede her verinin aynı veri tipi (dtype) vardır.
Python’da bu kütüphaneye kullanmak için öncelikle aşağıdaki işlem yapılır.
1 |
import numpy |
Eğer takma ad kullanmak istiyorsanız,
1 |
import numpy as np |
şeklinde kullanabilirsiniz. Numpy kütüphanesinin kalbi olan bir array nesnesini yaratmak için
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
array nesnesi biri zorunlu olmak üzere 6 farklı parametre alır.
Parametre | Tanımı |
---|---|
object | Bu dizi şeklinde herhangi bir nesne dizisidir. İç içe geçmiş dizi de içerebilir. |
dtype | İstenen veri tipi, seçimliktir. |
copy | object kopyalanır, seçimliktir. |
order | C (ana satır) ya da F (ana kolon) veya A (herhangi biri) (Geçerli değer) |
subok | Varsayılan olarak, bir temel sınıf array’i olmaya zorlanan diziyi döndürür. Eğer doğruysa, alt sınıflar geçer. |
ndmin | Sonuç dizisinin minimum boyutlarını belirtir |
Örnekler ile hem array oluşturmayı hem de metotlarını görelim.
1 2 3 4 5 6 7 8 9 10 11 12 |
import numpy as np a = np.array([1, 2, 3]) # 1 boyutlu bir array print(type(a)) # Veri türü print(a.shape) # Array şekli print(a[0], a[1], a[2]) # Array öğrelerine erişim a[0] = 5 # Array'in bir elemanını değiştirme print(a) # Tüm elemanları yazdırma b = np.array([[1,2,3],[4,5,6]]) # İki boyutlu bir rray print(b.shape) # Array şekli print(b[0, 0], b[0, 1], b[1, 0]) # Öğelere erişim |
1 2 3 4 5 6 |
<class 'numpy.ndarray'> (3,) 1 2 3 [5 2 3] (2, 3) 1 2 4 |
Python’daki list’leri kullanarak yukarıdaki gibi array’ler oluşturulabilir. shape metodu array’ın boyutunu verir. Ancak, Numpy farklı şekilde Array oluşturmamıza olanak tanır.
1 2 3 4 5 6 7 8 9 10 11 12 |
import numpy as np a = np.zeros((2,2)) # Tüm elemanları 0 olan 2'ye 2 bir array print(a) b = np.ones((1,2)) # Tüm elemanları bir olan 1'e 2 bir array print(b) c = np.full((2,2), 7) # Sabit bir değerden oluşan array print(c) d = np.eye(2) # 2x2'lik birim matrix print(d) e = np.random.random((2,2)) # 2x2'lik rastgele elemanlardan oluşan bir matrix print(e) |
1 2 3 4 5 6 7 8 9 |
[[0. 0.] [0. 0.]] [[1. 1.]] [[7 7] [7 7]] [[1. 0.] [0. 1.]] [[0.43956318 0.87850531] [0.37263897 0.24434587]] |