logo

NumPy Ndarray

Ndarray je n-dimenzionalni matrični objekt, definiran v numpy, ki shranjuje zbirko podobnih vrst elementov. Z drugimi besedami, ndarray lahko definiramo kot zbirko objektov podatkovnega tipa (dtype).

Do predmeta ndarray je mogoče dostopati z uporabo indeksiranja na osnovi 0. Vsak element predmeta Array vsebuje enako velikost v pomnilniku.

Ustvarjanje predmeta ndarray

Objekt ndarray je mogoče ustvariti z uporabo matrične rutine modula numpy. V ta namen moramo uvoziti numpy.

 >>> a = numpy.array 

Razmislite o spodnji sliki.

NumPy Ndarray

Objekt zbirke lahko posredujemo tudi v rutino matrike, da ustvarimo enakovredno n-dimenzionalno matriko. Sintaksa je podana spodaj.

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

Parametri so opisani v naslednji tabeli.

SN Parameter Opis
1 predmet Predstavlja predmet zbirke. Lahko je seznam, tuple, slovar, niz itd.
2 dtype Podatkovni tip elementov matrike lahko spremenimo tako, da to možnost spremenimo v podani tip. Privzeta vrednost je nič.
3 kopirati To ni obvezno. Privzeto je res, kar pomeni, da je objekt kopiran.
4 naročilo Tej možnosti so lahko dodeljene 3 možne vrednosti. Lahko je C (vrstni red stolpcev), R (vrstni red) ali A (poljubno)
5 testiran Vrnjena matrika bo privzeto matrika osnovnega razreda. To lahko spremenimo tako, da omogočimo prehod podrazredov, tako da to možnost nastavimo na true.
6 ndmin Predstavlja najmanjše dimenzije nastale matrike.

Če želite ustvariti matriko s seznamom, uporabite naslednjo sintakso.

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

Če želite ustvariti večdimenzionalni matrični objekt, uporabite naslednjo sintakso.

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

Če želite spremeniti podatkovni tip elementov polja, navedite ime podatkovnega tipa skupaj z zbirko.

branje iz datoteke csv v javi
 >>> a = numpy.array([1, 3, 5, 7], complex) 
NumPy Ndarray

Iskanje dimenzij matrike

The jaz sem funkcijo lahko uporabite za iskanje dimenzij matrike.

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

Iskanje velikosti vsakega elementa matrike

Funkcija itemsize se uporablja za pridobitev velikosti vsakega elementa polja. Vrne število bajtov, ki jih zasede vsak element polja.

Razmislite o naslednjem primeru.

Primer

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

Izhod:

do while zanka java
 Each item contains 8 bytes. 

Iskanje podatkovnega tipa vsake postavke polja

Za preverjanje tipa podatkov vsakega elementa matrike se uporablja funkcija dtype. Razmislite o naslednjem primeru, da preverite vrsto podatkov elementov matrike.

Primer

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

Izhod:

 Each item is of the type int64 

Iskanje oblike in velikosti niza

Za pridobitev oblike in velikosti matrike se uporabi funkcija velikosti in oblike, povezana z matriko numpy.

Razmislite o naslednjem primeru.

Primer

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

Izhod:

 Array Size: 7 Shape: (1, 7) 

Preoblikovanje matričnih objektov

Z obliko matrike razumemo število vrstic in stolpcev večdimenzionalne matrike. Vendar pa nam modul numpy ponuja način za preoblikovanje matrike s spreminjanjem števila vrstic in stolpcev večdimenzionalne matrike.

Funkcija reshape(), povezana z objektom ndarray, se uporablja za preoblikovanje matrike. Sprejme dva parametra, ki označujeta vrstico in stolpce nove oblike matrike.

Preoblikujemo matriko, podano na naslednji sliki.

NumPy Ndarray

Primer

 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) 

Izhod:

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

Rezanje v matriki

Rezanje v matriki NumPy je način za ekstrahiranje obsega elementov iz matrike. Rezanje v matriki se izvaja na enak način, kot se izvaja na seznamu python.

Razmislite o naslednjem primeru za tiskanje določenega elementa matrike.

Primer

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

Izhod:

razlika med večerjo in večerjo
 2 5 

Zgornji program natisne 2ndelement iz 0thindeks in 0thelement iz 2ndindeks matrike.

Linspace

Funkcija linspace() vrne enakomerno razporejene vrednosti v danem intervalu. Naslednji primer vrne 10 enakomerno ločenih vrednosti v danem intervalu 5-15

Primer

 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) 

Izhod:

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

Iskanje maksimuma, minimuma in vsote elementov polja

NumPy ponuja funkcije max(), min() in sum(), ki se uporabljajo za iskanje največje, najmanjše in vsote elementov polja.

Razmislite o naslednjem primeru.

Primer

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

Izhod:

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

Os matrike NumPy

Večdimenzionalni niz NumPy je predstavljen z osjo, kjer os-0 predstavlja stolpce, os-1 pa vrstice. Omenimo lahko os za izvajanje izračunov na ravni vrstice ali stolpca, kot je dodajanje elementov vrstice ali stolpca.

NumPy Ndarray

Če želite izračunati največji element v vsakem stolpcu, najmanjši element v vsaki vrstici in seštevek vseh elementov vrstice, upoštevajte naslednji primer.

Primer

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

Izhod:

 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] 

Iskanje kvadratnega korena in standardnega odklona

Funkciji sqrt() in std(), povezani z matriko numpy, se uporabljata za iskanje kvadratnega korena oziroma standardnega odklona elementov matrike.

Standardni odklon pomeni, koliko se vsak element matrike razlikuje od srednje vrednosti matrike numpy.

sort arraylist v Javi

Razmislite o naslednjem primeru.

Primer

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

Izhod:

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

Aritmetične operacije na matriki

Modul numpy nam omogoča neposredno izvajanje aritmetičnih operacij na večdimenzionalnih nizih.

V naslednjem primeru se aritmetične operacije izvajajo na dveh večdimenzionalnih nizih a in b.

Primer

 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) 

Združevanje nizov

Numpy nam ponuja navpično zlaganje in vodoravno zlaganje, ki nam omogoča združevanje dveh večdimenzionalnih nizov navpično ali vodoravno.

Razmislite o naslednjem primeru.

Primer

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

Izhod:

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