Ndarray ir n-dimensiju masīva objekts, kas definēts numpy un kurā tiek glabāta līdzīga veida elementu kolekcija. Citiem vārdiem sakot, mēs varam definēt ndarray kā datu tipa (dtype) objektu kolekciju.
Ndarray objektam var piekļūt, izmantojot indeksēšanu, kuras pamatā ir 0. Katrs masīva objekta elements atmiņā satur vienādu izmēru.
ndarray objekta izveide
Objektu ndarray var izveidot, izmantojot numpy moduļa masīva rutīnu. Šim nolūkam mums ir jāimportē numpy.
>>> a = numpy.array
Apsveriet zemāk redzamo attēlu.
Mēs varam arī nodot kolekcijas objektu masīva rutīnai, lai izveidotu līdzvērtīgu n-dimensiju masīvu. Sintakse ir norādīta zemāk.
>>> numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
Parametri ir aprakstīti nākamajā tabulā.
SN | Parametrs | Apraksts |
---|---|---|
1 | objektu | Tas attēlo kolekcijas objektu. Tas var būt saraksts, virkne, vārdnīca, kopa utt. |
2 | dtype | Mēs varam mainīt masīva elementu datu tipu, mainot šo opciju uz norādīto tipu. Noklusējums ir nekāds. |
3 | kopiju | Tas nav obligāti. Pēc noklusējuma tā ir patiesa, kas nozīmē, ka objekts ir kopēts. |
4 | pasūtījums | Šai opcijai var būt piešķirtas 3 iespējamās vērtības. Tas var būt C (kolonnu secība), R (rindu secība) vai A (jebkura) |
5 | pārbaudīts | Atgrieztais masīvs pēc noklusējuma būs bāzes klases masīvs. Mēs varam to mainīt, lai apakšklases tiktu cauri, iestatot šo opciju uz True. |
6 | ndmin | Tas atspoguļo iegūtā masīva minimālos izmērus. |
Lai izveidotu masīvu, izmantojot sarakstu, izmantojiet šādu sintaksi.
>>> a = numpy.array([1, 2, 3])
Lai izveidotu daudzdimensiju masīva objektu, izmantojiet šādu sintaksi.
>>> a = numpy.array([[1, 2, 3], [4, 5, 6]])
Lai mainītu masīva elementu datu tipu, norādiet datu tipa nosaukumu kopā ar kolekciju.
mēģiniet noķert java bloku
>>> a = numpy.array([1, 3, 5, 7], complex)
Masīva izmēru atrašana
The tas esmu es funkciju var izmantot, lai atrastu masīva izmērus.
>>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim)
Katra masīva elementa lieluma atrašana
Vienumu lieluma funkcija tiek izmantota, lai iegūtu katra masīva vienuma izmēru. Tas atgriež katra masīva elementa aizņemto baitu skaitu.
Apsveriet šādu piemēru.
Piemērs
#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')
Izvade:
java vesels skaitlis uz virkni
Each item contains 8 bytes.
Katra masīva elementa datu veida atrašana
Lai pārbaudītu katra masīva elementa datu tipu, tiek izmantota funkcija dtype. Apsveriet šo piemēru, lai pārbaudītu masīva vienumu datu tipu.
Piemērs
#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)
Izvade:
Each item is of the type int64
Masīva formas un izmēra atrašana
Lai iegūtu masīva formu un izmēru, tiek izmantota izmēra un formas funkcija, kas ir saistīta ar masīvu numpy.
Apsveriet šādu piemēru.
Piemērs
import numpy as np a = np.array([[1,2,3,4,5,6,7]]) print('Array Size:',a.size) print('Shape:',a.shape)
Izvade:
Array Size: 7 Shape: (1, 7)
Masīva objektu pārveidošana
Ar masīva formu mēs saprotam daudzdimensiju masīva rindu un kolonnu skaitu. Tomēr numpy modulis nodrošina veidu, kā pārveidot masīvu, mainot daudzdimensiju masīva rindu un kolonnu skaitu.
Ar ndarray objektu saistītā funkcija reshape() tiek izmantota, lai pārveidotu masīvu. Tas pieņem divus parametrus, kas norāda masīva jaunās formas rindu un kolonnas.
Pārveidosim nākamajā attēlā norādīto masīvu.
Piemērs
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)
Izvade:
printing the original array.. [[1 2] [3 4] [5 6]] printing the reshaped array.. [[1 2 3] [4 5 6]]
Sagriešana masīvā
Sagriešana NumPy masīvā ir veids, kā no masīva iegūt virkni elementu. Sagriešana masīvā tiek veikta tāpat kā python sarakstā.
Apsveriet šo piemēru, lai izdrukātu noteiktu masīva elementu.
Piemērs
import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print(a[0,1]) print(a[2,0])
Izvade:
svm
2 5
Iepriekš minētā programma izdrukā 2ndelements no 0thindekss un 0thelements no 2ndmasīva indekss.
Linspace
Funkcija linspace () atgriež vienmērīgi izvietotas vērtības norādītajā intervālā. Šis piemērs atgriež 10 vienmērīgi atdalītas vērtības norādītajā intervālā 5–15
Piemērs
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)
Izvade:
[ 5. 6.11111111 7.22222222 8.33333333 9.44444444 10.55555556 11.66666667 12.77777778 13.88888889 15. ]
Masīva elementu maksimālā, minimuma un summas atrašana
NumPy nodrošina max (), min () un sum () funkcijas, kuras tiek izmantotas, lai atrastu attiecīgi masīva elementu maksimālo, minimālo un summu.
Apsveriet šādu piemēru.
Piemērs
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())
Izvade:
ascii no a in Java
The array: [ 1 2 3 10 15 4] The maximum element: 15 The minimum element: 1 The sum of the elements: 35
NumPy masīva ass
NumPy daudzdimensiju masīvs ir attēlots ar asi, kur ass-0 apzīmē kolonnas un ass-1 apzīmē rindas. Mēs varam minēt asi, lai veiktu rindas vai kolonnas līmeņa aprēķinus, piemēram, rindas vai kolonnas elementu pievienošanu.
Lai aprēķinātu maksimālo elementu katrā kolonnā, minimālo elementu katrā rindā un visu rindas elementu pievienošanu, apsveriet šo piemēru.
Piemērs
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))
Izvade:
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]
Kvadrātsaknes un standartnovirzes atrašana
Ar numpy masīvu saistītās funkcijas sqrt () un std () tiek izmantotas, lai atrastu attiecīgi masīva elementu kvadrātsakni un standarta novirzi.
Standarta novirze nozīmē, cik daudz katrs masīva elements atšķiras no nelīdzenā masīva vidējās vērtības.
Apsveriet šādu piemēru.
Piemērs
import numpy as np a = np.array([[1,2,30],[10,15,4]]) print(np.sqrt(a)) print(np.std(a))
Izvade:
[[1. 1.41421356 5.47722558] [3.16227766 3.87298335 2. ]] 10.044346115546242
Aritmētiskās darbības ar masīvu
Numpy modulis ļauj mums tieši veikt aritmētiskās darbības ar daudzdimensiju masīviem.
Nākamajā piemērā aritmētiskās darbības tiek veiktas ar diviem daudzdimensiju masīviem a un b.
Piemērs
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)
Masīvu savienošana
Numpy nodrošina mums vertikālo un horizontālo sakraušanu, kas ļauj vertikāli vai horizontāli savienot divus daudzdimensiju masīvus.
Apsveriet šādu piemēru.
Piemērs
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)))
Izvade:
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]]