logo

NumPy Ndarray

Ndarray je n-dimenzionalni objekt niza definiran u numpyju koji pohranjuje kolekciju sličnih vrsta elemenata. Drugim riječima, možemo definirati ndarray kao kolekciju objekata tipa podataka (dtype).

Objektu ndarray može se pristupiti korištenjem indeksiranja temeljenog na 0. Svaki element objekta Array sadrži istu veličinu u memoriji.

Stvaranje ndarray objekta

Objekt ndarray može se stvoriti korištenjem array rutine modula numpy. U tu svrhu moramo uvesti numpy.

 >>> a = numpy.array 

Razmotrite sliku u nastavku.

NumPy Ndarray

Također možemo proslijediti objekt zbirke u rutinu niza kako bismo stvorili ekvivalentni n-dimenzionalni niz. Sintaksa je dana u nastavku.

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

Parametri su opisani u sljedećoj tablici.

S N Parametar Opis
1 objekt Predstavlja objekt zbirke. To može biti popis, tuple, rječnik, skup itd.
2 dtype Možemo promijeniti tip podataka elemenata niza mijenjanjem ove opcije na navedeni tip. Zadana postavka je ništa.
3 kopirati Nije obavezno. Prema zadanim postavkama, to je istina što znači da je objekt kopiran.
4 narudžba Ovoj opciji mogu biti dodijeljene 3 moguće vrijednosti. Može biti C (redoslijed stupaca), R (redoslijed redaka) ili A (bilo koji)
5 testiran Vraćeno polje će prema zadanim postavkama biti polje osnovne klase. To možemo promijeniti kako bi potklase prolazile postavljanjem ove opcije na true.
6 ndmin Predstavlja minimalne dimenzije rezultirajućeg polja.

Da biste stvorili niz pomoću popisa, koristite sljedeću sintaksu.

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

Za stvaranje višedimenzionalnog objekta niza, koristite sljedeću sintaksu.

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

Da biste promijenili vrstu podataka elemenata niza, navedite naziv vrste podataka uz kolekciju.

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

Pronalaženje dimenzija niza

The ja sam funkcija se može koristiti za pronalaženje dimenzija niza.

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

Pronalaženje veličine svakog elementa niza

Funkcija itemsize koristi se za dobivanje veličine svake stavke niza. Vraća broj bajtova koje zauzima svaki element niza.

Razmotrite sljedeći primjer.

Primjer

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

Izlaz:

postavke internet preglednika
 Each item contains 8 bytes. 

Pronalaženje tipa podataka svake stavke niza

Za provjeru tipa podataka svake stavke niza koristi se funkcija dtype. Razmotrite sljedeći primjer da provjerite tip podataka stavki polja.

Primjer

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

Izlaz:

 Each item is of the type int64 

Pronalaženje oblika i veličine niza

Da biste dobili oblik i veličinu niza, koristi se funkcija veličine i oblika povezana s nizom numpy.

Razmotrite sljedeći primjer.

Primjer

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

Izlaz:

 Array Size: 7 Shape: (1, 7) 

Preoblikovanje objekata niza

Pod oblikom niza podrazumijevamo broj redaka i stupaca višedimenzionalnog niza. Međutim, modul numpy pruža nam način preoblikovanja niza promjenom broja redaka i stupaca višedimenzionalnog niza.

Funkcija reshape() povezana s objektom ndarray koristi se za preoblikovanje polja. Prihvaća dva parametra koji označavaju redak i stupce novog oblika niza.

Preoblikujemo niz prikazan na sljedećoj slici.

NumPy Ndarray

Primjer

 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) 

Izlaz:

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

Rezanje u nizu

Rezanje u NumPy nizu način je izdvajanja niza elemenata iz niza. Rezanje u nizu izvodi se na isti način kao što se izvodi u python listi.

Razmotrite sljedeći primjer za ispis određenog elementa niza.

Primjer

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

Izlaz:

java string trim
 2 5 

Gornji program ispisuje 2ndelement od 0thindeks i 0thelement iz 2ndindeks niza.

Linspace

Funkcija linspace() vraća ravnomjerno raspoređene vrijednosti u zadanom intervalu. Sljedeći primjer vraća 10 ravnomjerno odvojenih vrijednosti u zadanom intervalu 5-15

Primjer

 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) 

Izlaz:

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

Pronalaženje maksimuma, minimuma i zbroja elemenata niza

NumPy pruža funkcije max(), min() i sum() koje se koriste za pronalaženje maksimuma, minimuma i zbroja elemenata niza.

Razmotrite sljedeći primjer.

Primjer

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

Izlaz:

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

NumPy os polja

NumPy višedimenzionalni niz predstavljen je osi gdje os-0 predstavlja stupce, a os-1 retke. Možemo spomenuti os za izvođenje izračuna na razini retka ili stupca poput dodavanja elemenata retka ili stupca.

NumPy Ndarray

Za izračun maksimalnog elementa u svakom stupcu, minimalnog elementa u svakom retku i zbrajanja svih elemenata retka, razmotrite sljedeći primjer.

Primjer

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

Izlaz:

 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] 

Traženje kvadratnog korijena i standardne devijacije

Funkcije sqrt() i std() povezane s nizom numpy koriste se za pronalaženje kvadratnog korijena i standardne devijacije elemenata niza.

Standardna devijacija znači koliko svaki element niza varira od srednje vrijednosti numpy niza.

Razmotrite sljedeći primjer.

Primjer

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

Izlaz:

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

Aritmetičke operacije nad nizom

Modul numpy omogućuje nam izravno izvođenje aritmetičkih operacija na višedimenzionalnim nizovima.

U sljedećem primjeru, aritmetičke operacije izvode se na dva višedimenzionalna polja a i b.

Primjer

 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) 

Ulančavanje polja

Numpy nam pruža okomito slaganje i horizontalno slaganje koje nam omogućuje spajanje dvaju višedimenzionalnih nizova okomito ili vodoravno.

Razmotrite sljedeći primjer.

Primjer

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

Izlaz:

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