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.
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])
Če želite ustvariti večdimenzionalni matrični objekt, uporabite naslednjo sintakso.
>>> a = numpy.array([[1, 2, 3], [4, 5, 6]])
Č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)
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)
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.
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.
Č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]]