Ndarray je n-rozmerný objekt poľa definovaný v numpy, ktorý ukladá kolekciu prvkov podobného typu. Inými slovami, môžeme definovať ndarray ako kolekciu objektov typu údajov (dtype).
K objektu ndarray je možné pristupovať pomocou indexovania založeného na 0. Každý prvok objektu Array obsahuje v pamäti rovnakú veľkosť.
Vytvorenie objektu ndarray
Objekt ndarray je možné vytvoriť pomocou rutiny poľa modulu numpy. Na tento účel musíme importovať numpy.
>>> a = numpy.array
Zvážte nasledujúci obrázok.
Môžeme tiež odovzdať objekt kolekcie do rutiny poľa, aby sme vytvorili ekvivalentné n-rozmerné pole. Syntax je uvedená nižšie.
>>> numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
Parametre sú popísané v nasledujúcej tabuľke.
SN | Parameter | Popis |
---|---|---|
1 | objekt | Predstavuje zbierkový predmet. Môže to byť zoznam, n-tica, slovník, množina atď. |
2 | dtype | Dátový typ prvkov poľa môžeme zmeniť zmenou tejto voľby na zadaný typ. Predvolená hodnota je žiadna. |
3 | kopírovať | Je to voliteľné. V predvolenom nastavení je to pravda, čo znamená, že sa objekt skopíruje. |
4 | objednať | Tejto možnosti môžu byť priradené 3 možné hodnoty. Môže to byť C (poradie stĺpcov), R (poradie riadkov) alebo A (ľubovoľné) |
5 | testované | Vrátené pole bude predvolene pole základnej triedy. Môžeme to zmeniť tak, aby podtriedy prechádzali nastavením tejto možnosti na hodnotu true. |
6 | ndmin | Predstavuje minimálne rozmery výsledného poľa. |
Ak chcete vytvoriť pole pomocou zoznamu, použite nasledujúcu syntax.
>>> a = numpy.array([1, 2, 3])
Ak chcete vytvoriť viacrozmerný objekt poľa, použite nasledujúcu syntax.
>>> a = numpy.array([[1, 2, 3], [4, 5, 6]])
Ak chcete zmeniť typ údajov prvkov poľa, uveďte názov typu údajov spolu s kolekciou.
mikroslužby tutoriál
>>> a = numpy.array([1, 3, 5, 7], complex)
Nájdenie rozmerov poľa
The to som ja funkciu možno použiť na nájdenie rozmerov poľa.
>>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim)
Nájdenie veľkosti každého prvku poľa
Funkcia itemsize sa používa na získanie veľkosti každej položky poľa. Vráti počet bajtov, ktoré zabral každý prvok poľa.
Zvážte nasledujúci príklad.
Príklad
#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')
Výkon:
Each item contains 8 bytes.
Nájdenie typu údajov každej položky poľa
Na kontrolu dátového typu každej položky poľa sa používa funkcia dtype. Ak chcete skontrolovať typ údajov položiek poľa, zvážte nasledujúci príklad.
Príklad
#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)
Výkon:
0,2 ako zlomok
Each item is of the type int64
Nájdenie tvaru a veľkosti poľa
Na získanie tvaru a veľkosti poľa sa používa funkcia size and shape spojená s numpy poľom.
Zvážte nasledujúci príklad.
Príklad
import numpy as np a = np.array([[1,2,3,4,5,6,7]]) print('Array Size:',a.size) print('Shape:',a.shape)
Výkon:
Array Size: 7 Shape: (1, 7)
Zmena tvaru objektov poľa
Tvarom poľa rozumieme počet riadkov a stĺpcov viacrozmerného poľa. Numpy modul nám však poskytuje spôsob, ako pretvoriť pole zmenou počtu riadkov a stĺpcov viacrozmerného poľa.
Na zmenu tvaru poľa sa používa funkcia reshape() spojená s objektom ndarray. Prijíma dva parametre označujúce riadok a stĺpce nového tvaru poľa.
Pretvorme pole uvedené na nasledujúcom obrázku.
Príklad
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)
Výkon:
printing the original array.. [[1 2] [3 4] [5 6]] printing the reshaped array.. [[1 2 3] [4 5 6]]
Krájanie v poli
Krájanie v poli NumPy je spôsob, ako extrahovať rozsah prvkov z poľa. Krájanie v poli sa vykonáva rovnakým spôsobom, ako sa vykonáva v zozname python.
Ak chcete vytlačiť konkrétny prvok poľa, zvážte nasledujúci príklad.
Príklad
import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print(a[0,1]) print(a[2,0])
Výkon:
2 5
Vyššie uvedený program vytlačí 2ndprvok z 0thindex a 0thprvok z 2ndindex poľa.
Linspace
Funkcia linspace() vracia rovnomerne rozložené hodnoty v danom intervale. Nasledujúci príklad vráti 10 rovnomerne oddelených hodnôt za daný interval 5-15
stojace
Príklad
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)
Výkon:
[ 5. 6.11111111 7.22222222 8.33333333 9.44444444 10.55555556 11.66666667 12.77777778 13.88888889 15. ]
Nájdenie maxima, minima a súčtu prvkov poľa
NumPy poskytuje funkcie max (), min () a sum (), ktoré sa používajú na nájdenie maxima, minima a súčtu prvkov poľa.
Zvážte nasledujúci príklad.
Príklad
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())
Výkon:
The array: [ 1 2 3 10 15 4] The maximum element: 15 The minimum element: 1 The sum of the elements: 35
NumPy Array Axis
Viacrozmerné pole NumPy je reprezentované osou, kde os-0 predstavuje stĺpce a os-1 predstavuje riadky. Môžeme spomenúť os na vykonávanie výpočtov na úrovni riadkov alebo stĺpcov, ako je pridanie prvkov riadka alebo stĺpca.
Ak chcete vypočítať maximálny prvok medzi každým stĺpcom, minimálny prvok medzi každým riadkom a sčítanie všetkých prvkov riadka, zvážte nasledujúci príklad.
Príklad
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))
Výkon:
ako nájsť skryté veci v systéme Android
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ájdenie druhej odmocniny a štandardnej odchýlky
Funkcie sqrt() a std() spojené s numpy poľom sa používajú na nájdenie druhej odmocniny a štandardnej odchýlky prvkov poľa.
Smerodajná odchýlka znamená, o koľko sa každý prvok poľa líši od strednej hodnoty numpy poľa.
Zvážte nasledujúci príklad.
Príklad
import numpy as np a = np.array([[1,2,30],[10,15,4]]) print(np.sqrt(a)) print(np.std(a))
Výkon:
[[1. 1.41421356 5.47722558] [3.16227766 3.87298335 2. ]] 10.044346115546242
Aritmetické operácie na poli
Numpy modul nám umožňuje vykonávať aritmetické operácie priamo na viacrozmerných poliach.
V nasledujúcom príklade sa aritmetické operácie vykonávajú na dvoch viacrozmerných poliach a a b.
Príklad
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)
Zreťazenie poľa
Numpy nám poskytuje vertikálne a horizontálne stohovanie, ktoré nám umožňuje spojiť dve viacrozmerné polia vertikálne alebo horizontálne.
Zvážte nasledujúci príklad.
Príklad
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)))
Výkon:
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]]