NumPy masīvu pamati
NumPy apzīmē Numerical Python. Tā ir Python bibliotēka, ko izmanto darbam ar masīvu. Programmā Python mēs izmantojam sarakstu masīvam, taču tā apstrāde notiek lēni. NumPy masīvs ir spēcīgs N-dimensiju masīva objekts, un to izmanto lineārās algebras, Furjē transformācijas un nejaušo skaitļu iespējās. Tas nodrošina masīva objektu daudz ātrāk nekā tradicionālie Python saraksti.
Masīvu veidi:
- Viendimensijas masīvs
- Daudzdimensiju masīvs
Viendimensijas masīvs:
Viendimensijas masīvs ir lineāra masīva veids.
Viendimensijas masīvs
Piemērs:
Python3 # importing numpy module import numpy as np # creating list list = [1, 2, 3, 4] # creating numpy array sample_array = np.array(list) print('List in python : ', list) print('Numpy Array in python :', sample_array)
Izvade:
List in python : [1, 2, 3, 4] Numpy Array in python : [1 2 3 4]
Pārbaudiet datu tipu sarakstam un masīvam:
Python3 print(type(list_1)) print(type(sample_array))
Izvade:
Daudzdimensiju masīvs:
Dati daudzdimensiju masīvos tiek glabāti tabulas veidā.
Divdimensiju masīvs
Piemērs:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy multi dimensional array in python
', sample_array) Izvade:
Numpy multi dimensional array in python [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Piezīme: izmantot [ ] operatori iekšā numpy.array() daudzdimensionālam
Masīva anatomija:
1. Ass: Masīva ass apraksta indeksēšanas secību masīvā.
Asis 0 = viena dimensija
1. ass = divdimensiju
2. ass = trīsdimensiju
2. Forma: Elementu skaits kopā ar katru asi. Tas ir no kortedža.
Piemērs:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy array :') print(sample_array) # print shape of the array print('Shape of the array :', sample_array.shape) Izvade:
Numpy array : [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Shape of the array : (3, 4)
Piemērs:
Python3 import numpy as np sample_array = np.array([[0, 4, 2], [3, 4, 5], [23, 4, 5], [2, 34, 5], [5, 6, 7]]) print('shape of the array :', sample_array.shape) Izvade:
shape of the array : (5, 3)
3. Rangs: Masīva rangs ir vienkārši tam esošo asu (vai izmēru) skaits.
Viendimensijas masīvam ir 1. rangs.
1. rangs
Divdimensiju masīvam ir 2. pakāpe.
2. rangs
4. Datu tipa objekti (dtype): Datu tipa objekti (dtype) ir gadījums numpy.dtype klasē. Tajā ir aprakstīts, kā jāinterpretē baiti fiksētā izmēra atmiņas blokā, kas atbilst masīva vienumam.
Piemērs:
Python3 # Import module import numpy as np # Creating the array sample_array_1 = np.array([[0, 4, 2]]) sample_array_2 = np.array([0.2, 0.4, 2.4]) # display data type print('Data type of the array 1 :', sample_array_1.dtype) print('Data type of array 2 :', sample_array_2.dtype) Izvade:
Data type of the array 1 : int32 Data type of array 2 : float64
Daži dažādi veidi, kā izveidot Numpy Array:
1. numpy.array() : Numpy masīva objektu programmā Numpy sauc par ndarray. Mēs varam izveidot ndarray, izmantojot numpy.array() funkciju.
Sintakse: numpy.masīvs(parametrs)
Piemērs:
Python3 # import module import numpy as np #creating a array arr = np.array([3,4,5,5]) print('Array :',arr) Izvade:
Array : [3 4 5 5]
2. numpy.fromiter() : Funkcija fromiter() izveido jaunu viendimensiju masīvu no iterējama objekta.
Sintakse: numpy.fromiter(iterable, dtype, count=-1)
1. piemērs:
Python3 #Import numpy module import numpy as np # iterable iterable = (a*a for a in range(8)) arr = np.fromiter(iterable, float) print('fromiter() array :',arr) Izvade:
fromiter() masīvs: [ 0. 1. 4. 9. 16. 25. 36. 49.]
2. piemērs:
Python3 import numpy as np var = 'Geekforgeeks' arr = np.fromiter(var, dtype = 'U2') print('fromiter() array :', arr) Izvade:
fromiter() masīvs : ['G' 'e' 'e' 'k' 'f' 'o' 'r' 'g' 'e' 'e' 'k' 's']
3. numpy.arange() : Šī ir iebūvēta funkcija NumPy, kas atgriež vienmērīgi izvietotas vērtības noteiktā intervālā.
Sintakse: numpy.arange([sākt, ]pārtraukt, [solis, ]dtype=nav)
Piemērs:
Python3 import numpy as np np.arange(1, 20 , 2, dtype = np.float32)
Izvade:
masīvs([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace() : Šī funkcija atgriež vienmērīgi izvietotus skaitļus, kas ir norādīti starp divām robežām.
Sintakse: numpy.linspace(sākums, beigas, cipars = 50, beigu punkts = patiess, retstep = nepatiess, dtype = nav, ass = 0)
1. piemērs:
Python3 import numpy as np np.linspace(3.5, 10, 3)
Izvade:
array([ 3.5 , 6.75, 10. ])
2. piemērs:
Python3 import numpy as np np.linspace(3.5, 10, 3, dtype = np.int32)
Izvade:
array([ 3, 6, 10])
5. numpy.empty() : Šī funkcija izveido jaunu noteiktas formas un veida masīvu bez inicializācijas vērtības.
Sintakse: numpy.empty(forma, dtype=float, order='C')
Piemērs:
Python3 import numpy as np np.empty([4, 3], dtype = np.int32, order = 'f')
Izvade:
array([[ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11], [ 4, 8, 12]])
6. numpy.ones(): Šī funkcija tiek izmantota, lai iegūtu jaunu noteiktas formas un veida masīvu, kas piepildīts ar tiem (1).
Sintakse: numpy.ones(forma, dtype=nav, order='C')
Piemērs:
Python3 import numpy as np np.ones([4, 3], dtype = np.int32, order = 'f')
Izvade:
array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
7. numpy.zeros() : Šo funkciju izmanto, lai iegūtu jaunu noteiktas formas un veida masīvu, kas aizpildīts ar nullēm (0).
Sintakse: numpy.ones(forma, dtype=nav)
Piemērs:
Python3 import numpy as np np.zeros([4, 3], dtype = np.int32, order = 'f')
Izvade:
array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])