logo

NumPy Ndarray

Ndarray, benzer türdeki öğelerin koleksiyonunu saklayan, numpy'de tanımlanan n boyutlu dizi nesnesidir. Başka bir deyişle ndarray'i veri tipi (dtype) nesnelerinin koleksiyonu olarak tanımlayabiliriz.

Ndarray nesnesine 0 tabanlı indeksleme kullanılarak erişilebilir. Array nesnesinin her öğesi bellekte aynı boyutu içerir.

Bir ndarray nesnesi oluşturma

Ndarray nesnesi, numpy modülünün dizi rutini kullanılarak oluşturulabilir. Bu amaçla numpy'yi içe aktarmamız gerekiyor.

 >>> a = numpy.array 

Aşağıdaki görüntüyü düşünün.

NumPy Ndarray

Eşdeğer n boyutlu diziyi oluşturmak için bir koleksiyon nesnesini dizi rutinine de aktarabiliriz. Sözdizimi aşağıda verilmiştir.

 >>> numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) 

Parametreler aşağıdaki tabloda açıklanmıştır.

SN Parametre Tanım
1 nesne Koleksiyon nesnesini temsil eder. Bir liste, tuple, sözlük, set vb. olabilir.
2 dtype Bu seçeneği belirtilen türe değiştirerek dizi elemanlarının veri türünü değiştirebiliriz. Varsayılan hiçbiridir.
3 kopyala Bu isteğe bağlıdır. Varsayılan olarak true'dur, bu da nesnenin kopyalandığı anlamına gelir.
4 emir Bu seçeneğe atanabilecek 3 olası değer olabilir. C (sütun sırası), R (satır sırası) veya A (herhangi biri) olabilir
5 test edildi Döndürülen dizi, varsayılan olarak temel sınıf dizisi olacaktır. Bu seçeneği true olarak ayarlayarak alt sınıfların geçmesini sağlayacak şekilde bunu değiştirebiliriz.
6 ndmin Ortaya çıkan dizinin minimum boyutlarını temsil eder.

Listeyi kullanarak bir dizi oluşturmak için aşağıdaki sözdizimini kullanın.

 >>> a = numpy.array([1, 2, 3]) 
NumPy Ndarray

Çok boyutlu bir dizi nesnesi oluşturmak için aşağıdaki sözdizimini kullanın.

 >>> a = numpy.array([[1, 2, 3], [4, 5, 6]]) 
NumPy Ndarray

Dizi öğelerinin veri türünü değiştirmek için koleksiyonla birlikte veri türünün adını da belirtin.

dize Java'da int'ye dönüştürülür
 >>> a = numpy.array([1, 3, 5, 7], complex) 
NumPy Ndarray

Dizinin boyutlarını bulma

benim Dizinin boyutlarını bulmak için fonksiyon kullanılabilir.

 >>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim) 
NumPy Ndarray

Her dizi öğesinin boyutunu bulma

itemsize işlevi her dizi öğesinin boyutunu elde etmek için kullanılır. Her dizi öğesi tarafından alınan bayt sayısını döndürür.

Aşağıdaki örneği düşünün.

Örnek

 #finding the size of each item in the array import numpy as np a = np.array([[1,2,3]]) print('Each item contains',a.itemsize,'bytes') 

Çıktı:

 Each item contains 8 bytes. 

Her dizi öğesinin veri türünü bulma

Her dizi öğesinin veri türünü kontrol etmek için dtype işlevi kullanılır. Dizi öğelerinin veri türünü kontrol etmek için aşağıdaki örneği göz önünde bulundurun.

Örnek

 #finding the data type of each array item import numpy as np a = np.array([[1,2,3]]) print('Each item is of the type',a.dtype) 

Çıktı:

 Each item is of the type int64 

Dizinin şeklini ve boyutunu bulma

Dizinin şeklini ve boyutunu elde etmek için numpy dizisiyle ilişkili boyut ve şekil işlevi kullanılır.

Aşağıdaki örneği düşünün.

dizeyi int java'ya dönüştür

Örnek

 import numpy as np a = np.array([[1,2,3,4,5,6,7]]) print('Array Size:',a.size) print('Shape:',a.shape) 

Çıktı:

 Array Size: 7 Shape: (1, 7) 

Dizi nesnelerini yeniden şekillendirme

Dizinin şekli derken, çok boyutlu bir dizinin satır ve sütun sayısını kastediyoruz. Ancak numpy modülü bize çok boyutlu dizinin satır ve sütun sayısını değiştirerek diziyi yeniden şekillendirme yolunu sağlar.

Diziyi yeniden şekillendirmek için ndarray nesnesiyle ilişkili reshape() işlevi kullanılır. Dizinin yeni şeklinin satır ve sütunlarını belirten iki parametreyi kabul eder.

Aşağıdaki görselde verilen diziyi yeniden şekillendirelim.

NumPy Ndarray

Örnek

 import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print('printing the original array..') print(a) a=a.reshape(2,3) print('printing the reshaped array..') print(a) 

Çıktı:

 printing the original array.. [[1 2] [3 4] [5 6]] printing the reshaped array.. [[1 2 3] [4 5 6]] 

Dizide Dilimleme

NumPy dizisinde dilimleme, bir diziden çeşitli öğeleri çıkarmanın yoludur. Dizide dilimleme, python listesinde yapıldığı gibi gerçekleştirilir.

Dizinin belirli bir öğesini yazdırmak için aşağıdaki örneği göz önünde bulundurun.

Örnek

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

Çıktı:

 2 5 

Yukarıdaki program 2'yi yazdırırve0'dan itibaren elemanoindeks ve 0o2'den elemanvedizinin indeksi.

Linspace

Linspace() işlevi, verilen aralıkta eşit aralıklı değerleri döndürür. Aşağıdaki örnek, verilen 5-15 aralığında eşit olarak ayrılmış 10 değeri döndürür

Örnek

 import numpy as np a=np.linspace(5,15,10) #prints 10 values which are evenly spaced over the given interval 5-15 print(a) 

Çıktı:

 [ 5. 6.11111111 7.22222222 8.33333333 9.44444444 10.55555556 11.66666667 12.77777778 13.88888889 15. ] 

Dizi elemanlarının maksimum, minimum ve toplamını bulma

NumPy, dizi öğelerinin sırasıyla maksimum, minimum ve toplamını bulmak için kullanılan max(), min() ve sum() işlevlerini sağlar.

piton içerir

Aşağıdaki örneği düşünün.

Örnek

 import numpy as np a = np.array([1,2,3,10,15,4]) print('The array:',a) print('The maximum element:',a.max()) print('The minimum element:',a.min()) print('The sum of the elements:',a.sum()) 

Çıktı:

 The array: [ 1 2 3 10 15 4] The maximum element: 15 The minimum element: 1 The sum of the elements: 35 

NumPy Dizi Ekseni

Bir NumPy çok boyutlu dizisi, eksen-0'ın sütunları ve eksen-1'in satırları temsil ettiği eksen tarafından temsil edilir. Satır veya sütun elemanlarının eklenmesi gibi satır düzeyinde veya sütun düzeyinde hesaplamalar yapmak için eksenden bahsedebiliriz.

NumPy Ndarray

Her sütun arasındaki maksimum öğeyi, her satır arasındaki minimum öğeyi ve tüm satır öğelerinin toplamını hesaplamak için aşağıdaki örneği göz önünde bulundurun.

Örnek

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) print('The array:',a) print('The maximum elements of columns:',a.max(axis = 0)) print('The minimum element of rows',a.min(axis = 1)) print('The sum of all rows',a.sum(axis = 1)) 

Çıktı:

 The array: [[1 2 30] [10 15 4]] The maximum elements of columns: [10 15 30] The minimum element of rows [1 4] The sum of all rows [33 29] 

Karekök ve standart sapmayı bulma

Numpy dizisiyle ilişkili sqrt() ve std() işlevleri, dizi öğelerinin sırasıyla karekökünü ve standart sapmasını bulmak için kullanılır.

Standart sapma, dizinin her bir öğesinin numpy dizisinin ortalama değerinden ne kadar farklı olduğu anlamına gelir.

Aşağıdaki örneği düşünün.

soyut sınıf

Örnek

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) print(np.sqrt(a)) print(np.std(a)) 

Çıktı:

 [[1. 1.41421356 5.47722558] [3.16227766 3.87298335 2. ]] 10.044346115546242 

Dizideki aritmetik işlemler

Numpy modülü, çok boyutlu diziler üzerinde aritmetik işlemleri doğrudan gerçekleştirmemize olanak sağlar.

Aşağıdaki örnekte aritmetik işlemler iki çok boyutlu dizi a ve b üzerinde gerçekleştirilir.

Örnek

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Sum of array a and b
',a+b) print('Product of array a and b
',a*b) print('Division of array a and b
',a/b) 

Dizi Birleştirme

Numpy bize iki çok boyutlu diziyi dikey veya yatay olarak birleştirmemize olanak tanıyan dikey istifleme ve yatay istifleme sağlar.

Aşağıdaki örneği düşünün.

Örnek

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Arrays vertically concatenated
',np.vstack((a,b))); print('Arrays horizontally concatenated
',np.hstack((a,b))) 

Çıktı:

 Arrays vertically concatenated [[ 1 2 30] [10 15 4] [ 1 2 3] [12 19 29]] Arrays horizontally concatenated [[ 1 2 30 1 2 3] [10 15 4 12 19 29]]