Bazele matricelor NumPy
NumPy reprezintă Numerical Python. Este o bibliotecă Python folosită pentru a lucra cu o matrice. În Python, folosim lista pentru matrice, dar procesarea este lent. Matricea NumPy este un obiect matrice N-dimensional puternic și este utilizat în algebra liniară, transformarea Fourier și capabilitățile de numere aleatoare. Oferă un obiect matrice mult mai rapid decât listele tradiționale Python.
Tipuri de matrice:
- Matrice unidimensională
- Matrice multidimensională
Matrice unidimensională:
O matrice unidimensională este un tip de matrice liniară.
Matrice unidimensională
Exemplu:
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)
Ieșire:
List in python : [1, 2, 3, 4] Numpy Array in python : [1 2 3 4]
Verificați tipul de date pentru listă și matrice:
Python3 print(type(list_1)) print(type(sample_array))
Ieșire:
Matrice multidimensională:
Datele din matrice multidimensionale sunt stocate sub formă tabelară.
Matrice bidimensională
Exemplu:
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) Ieșire:
Numpy multi dimensional array in python [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Notă: utilizare [ ] operatori din interiorul numpy.array() pentru multidimensionale
Anatomia unui tablou:
1. Axa: Axa unei matrice descrie ordinea indexării în matrice.
Axa 0 = unidimensional
Axa 1 = bidimensional
Axa 2 = Tridimensional
2. Forma: Numărul de elemente împreună cu fiecare axă. Este dintr-un tuplu.
Exemplu:
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) Ieșire:
Numpy array : [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Shape of the array : (3, 4)
Exemplu:
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) Ieșire:
shape of the array : (5, 3)
3. Clasament: Rangul unui tablou este pur și simplu numărul de axe (sau dimensiuni) pe care le are.
Matricea unidimensională are rangul 1.
Locul 1
Matricea bidimensională are rangul 2.
Locul 2
4. Obiecte tip de date (dtype): Obiectele tip de date (dtype) este o instanță a numpy.dtype clasă. Descrie modul în care trebuie interpretați octeții din blocul de memorie de dimensiune fixă corespunzător unui element de matrice.
Exemplu:
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) Ieșire:
Data type of the array 1 : int32 Data type of array 2 : float64
Un mod diferit de a crea Numpy Array:
1. numpy.array() : Obiectul matrice Numpy din Numpy se numește ndarray. Putem crea ndarray folosind numpy.array() funcţie.
Sintaxă: numpy.array(parametru)
Exemplu:
Python3 # import module import numpy as np #creating a array arr = np.array([3,4,5,5]) print('Array :',arr) Ieșire:
Array : [3 4 5 5]
2. numpy.friter() : Funcția fromiter() creează o nouă matrice unidimensională dintr-un obiect iterabil.
Sintaxă: numpy.friter(iterable, dtype, count=-1)
Exemplul 1:
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) Ieșire:
matrice fromiter() : [ 0. 1. 4. 9. 16. 25. 36. 49.]
Exemplul 2:
Python3 import numpy as np var = 'Geekforgeeks' arr = np.fromiter(var, dtype = 'U2') print('fromiter() array :', arr) Ieșire:
matrice fromiter() : [‘G’ ‘e’ ‘e’ ‘k’ ‘f’ ‘o’ ‘r’ ‘g’ ‘e’ ‘e’ ‘k’ ‘s’]
3. numpy.arange() : Aceasta este o funcție NumPy încorporată care returnează valori uniform distanțate într-un interval dat.
Sintaxă: numpy.arange([start, ]stop, [step, ]dtype=Niciunul)
Exemplu:
Python3 import numpy as np np.arange(1, 20 , 2, dtype = np.float32)
Ieșire:
matrice([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace() : Această funcție returnează numere uniform distanțate peste o anumită între două limite.
Sintaxă: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axa=0)
Exemplul 1:
Python3 import numpy as np np.linspace(3.5, 10, 3)
Ieșire:
array([ 3.5 , 6.75, 10. ])
Exemplul 2:
Python3 import numpy as np np.linspace(3.5, 10, 3, dtype = np.int32)
Ieșire:
array([ 3, 6, 10])
5. numpy.empty() : Această funcție creează o nouă matrice de formă și tip dat, fără a inițializa valoarea.
Sintaxă: numpy.empty(shape, dtype=float, order=’C’)
Exemplu:
Python3 import numpy as np np.empty([4, 3], dtype = np.int32, order = 'f')
Ieșire:
array([[ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11], [ 4, 8, 12]])
6. numpy.one(): Această funcție este folosită pentru a obține o nouă matrice de formă și tip dat, umplută cu unele (1).
Sintaxă: numpy.ones(formă, dtype=Niciunul, ordine=’C’)
Exemplu:
Python3 import numpy as np np.ones([4, 3], dtype = np.int32, order = 'f')
Ieșire:
array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
7. numpy.zeros() : Această funcție este folosită pentru a obține o nouă matrice de formă și tip dat, umplută cu zerouri (0).
Sintaxă: numpy.ones(shape, dtype=None)
Exemplu:
Python3 import numpy as np np.zeros([4, 3], dtype = np.int32, order = 'f')
Ieșire:
array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])