NumPy Ndarray

NumPy Ndarray

Az Ndarray a numpy-ban meghatározott n-dimenziós tömbobjektum, amely a hasonló típusú elemek gyűjteményét tárolja. Más szavakkal, definiálhatunk egy ndarray-t az adattípus (dtype) objektumok gyűjteményeként.

Az ndarray objektum a 0 alapú indexeléssel érhető el. Az Array objektum minden eleme azonos méretet tartalmaz a memóriában.

Ndarray objektum létrehozása

Az ndarray objektum a numpy modul tömbrutinjával hozható létre. Ebből a célból importálnunk kell a numpy-t.

 >>> a = numpy.array  

Vegye figyelembe az alábbi képet.

NumPy Ndarray

Egy gyűjteményobjektumot is átadhatunk a tömbrutinnak, hogy létrehozzuk az egyenértékű n-dimenziós tömböt. A szintaxis alább látható.

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

A paraméterek leírása a következő táblázatban található.

SN Paraméter Leírás
1 tárgy Ez a gyűjtemény objektumot képviseli. Ez lehet lista, sor, szótár, halmaz stb.
2 dtype A tömbelemek adattípusát úgy tudjuk megváltoztatni, ha ezt az opciót a megadott típusra változtatjuk. Az alapértelmezett érték nincs.
3 másolat Ez nem kötelező. Alapértelmezés szerint igaz, ami azt jelenti, hogy az objektum másolásra került.
4 rendelés Ehhez az opcióhoz 3 lehetséges érték rendelhető. Lehet C (oszlopsorrend), R (sorrend) vagy A (bármilyen)
5 tesztelve A visszaadott tömb alapértelmezés szerint alaposztályú tömb lesz. Ezt megváltoztathatjuk úgy, hogy az alosztályok átmenjenek, ha ezt az opciót igazra állítjuk.
6 ndmin Az eredményül kapott tömb minimális méreteit jelenti.

A lista segítségével tömb létrehozásához használja a következő szintaxist.

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

Többdimenziós tömbobjektum létrehozásához használja a következő szintaxist.

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

A tömbelemek adattípusának megváltoztatásához adja meg az adattípus nevét a gyűjtemény mellett.

 >>> a = numpy.array([1, 3, 5, 7], complex)  
NumPy Ndarray

A tömb méreteinek megkeresése

A én vagyok függvény segítségével megkereshetjük a tömb méreteit.

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

Az egyes tömbelemek méretének meghatározása

Az itemize függvény az egyes tömbelemek méretének meghatározására szolgál. Az egyes tömbelemek által felvett bájtok számát adja vissza.

Tekintsük a következő példát.

Példa

 #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')  

Kimenet:

 Each item contains 8 bytes.  

Az egyes tömbelemek adattípusának megkeresése

Az egyes tömbelemek adattípusának ellenőrzéséhez a dtype függvényt használjuk. Tekintsük a következő példát a tömbelemek adattípusának ellenőrzéséhez.

Példa

 #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)  

Kimenet:

 Each item is of the type int64  

A tömb alakjának és méretének meghatározása

A tömb alakjának és méretének meghatározásához a numpy tömbhöz tartozó méret és alak függvényt használjuk.

Tekintsük a következő példát.

Példa

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

Kimenet:

 Array Size: 7 Shape: (1, 7)  

A tömbobjektumok átformálása

A tömb alakja alatt egy többdimenziós tömb sorainak és oszlopainak számát értjük. A numpy modul azonban lehetőséget ad a tömb átformálására a többdimenziós tömb sorainak és oszlopainak számának változtatásával.

Az ndarray objektumhoz társított reshape() függvény a tömb átalakítására szolgál. Elfogadja a tömb új alakjának sorát és oszlopait jelző két paramétert.

Alakítsuk át a következő képen látható tömböt.

NumPy Ndarray

Példa

 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)  

Kimenet:

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

Szeletelés a tömbben

A NumPy tömbben történő szeleteléssel egy sor elemet kinyerhetünk egy tömbből. A tömbben a szeletelés ugyanúgy történik, mint a python listában.

Tekintsük a következő példát a tömb egy adott elemének kinyomtatására.

Példa

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

Kimenet:

 2 5  

A fenti program kiírja a 2 nd elem a 0-ból th index és 0 th elem a 2-ből nd a tömb indexe.

Linspace

A linspace() függvény az adott intervallumon belül egyenletesen elosztott értékeket ad vissza. A következő példa a 10 egyenletesen elválasztott értéket adja vissza az adott 5-15 intervallumon belül

Példa

 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)  

Kimenet:

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

A tömbelemek maximumának, minimumának és összegének megkeresése

A NumPy biztosítja a max(), min() és sum() függvényeket, amelyek a tömbelemek maximumának, minimumának és összegének meghatározására szolgálnak.

Tekintsük a következő példát.

Példa

 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())  

Kimenet:

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

NumPy tömbtengely

A NumPy többdimenziós tömböt a tengely jelöli, ahol a 0. tengely az oszlopokat, az 1. tengely pedig a sorokat jelöli. Megemlíthetjük a tengelyt a sor- vagy oszlopszintű számítások végrehajtásához, mint például sor- vagy oszlopelemek hozzáadása.

NumPy Ndarray

Az egyes oszlopok maximális elemének, az egyes sorok minimális elemének és az összes sorelem hozzáadásának kiszámításához vegye figyelembe a következő példát.

Példa

 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))  

Kimenet:

 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]  

Négyzetgyök és szórás keresése

A numpy tömbhöz tartozó sqrt() és std() függvények a tömbelemek négyzetgyökének és szórásának meghatározására szolgálnak.

A szórás azt jelenti, hogy a tömb egyes elemei mennyivel térnek el a numpy tömb átlagértékétől.

Tekintsük a következő példát.

Példa

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

Kimenet:

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

Aritmetikai műveletek a tömbön

A numpy modul lehetővé teszi, hogy közvetlenül többdimenziós tömbökön hajtsuk végre az aritmetikai műveleteket.

A következő példában az aritmetikai műveleteket a két a és b többdimenziós tömbön hajtjuk végre.

Példa

 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)  

Tömb összefűzése

A numpy biztosítja számunkra a függőleges és vízszintes halmozást, amely lehetővé teszi két többdimenziós tömb függőleges vagy vízszintes összefűzését.

Tekintsük a következő példát.

Példa

 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)))  

Kimenet:

 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]]