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.
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])
Többdimenziós tömbobjektum létrehozásához használja a következő szintaxist.
>>> a = numpy.array([[1, 2, 3], [4, 5, 6]])
A tömbelemek adattípusának megváltoztatásához adja meg az adattípus nevét a gyűjtemény mellett.
mi a kivételkezelés java-ban
>>> a = numpy.array([1, 3, 5, 7], complex)
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)
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.
verilog eset nyilatkozat
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.
shehzad poonawala
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 2ndelem a 0-bólthindex és 0thelem a 2-bőlnda 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.
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.
mi az a hashset a java-ban
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]]