logo

NumPy Ndarray

Ndarray és l'objecte de matriu n-dimensional definit al numpy que emmagatzema la col·lecció d'elements de tipus similar. En altres paraules, podem definir un ndarray com la col·lecció d'objectes de tipus de dades (dtype).

Es pot accedir a l'objecte ndarray mitjançant la indexació basada en 0. Cada element de l'objecte Array conté la mateixa mida a la memòria.

Creació d'un objecte ndarray

L'objecte ndarray es pot crear utilitzant la rutina de matriu del mòdul numpy. Per a això, hem d'importar el numpy.

 >>> a = numpy.array 

Considereu la imatge següent.

NumPy Ndarray

També podem passar un objecte de col·lecció a la rutina de matriu per crear la matriu n-dimensional equivalent. La sintaxi es mostra a continuació.

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

Els paràmetres es descriuen a la taula següent.

SN Paràmetre Descripció
1 objecte Representa l'objecte de la col·lecció. Pot ser una llista, tupla, diccionari, conjunt, etc.
2 dtype Podem canviar el tipus de dades dels elements de la matriu canviant aquesta opció al tipus especificat. El valor predeterminat és cap.
3 còpia És opcional. Per defecte, és cert, el que significa que l'objecte es copia.
4 ordre Hi pot haver 3 valors possibles assignats a aquesta opció. Pot ser C (ordre de columnes), R (ordre de fila) o A (qualsevol)
5 provat La matriu retornada serà una matriu de classe base per defecte. Podem canviar-ho per fer passar les subclasses configurant aquesta opció com a true.
6 ndmin Representa les dimensions mínimes de la matriu resultant.

Per crear una matriu utilitzant la llista, utilitzeu la sintaxi següent.

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

Per crear un objecte de matriu multidimensional, utilitzeu la sintaxi següent.

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

Per canviar el tipus de dades dels elements de la matriu, esmenteu el nom del tipus de dades juntament amb la col·lecció.

forma completa iskcon
 >>> a = numpy.array([1, 3, 5, 7], complex) 
NumPy Ndarray

Trobar les dimensions de la matriu

El sóc jo La funció es pot utilitzar per trobar les dimensions de la matriu.

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

Trobar la mida de cada element de la matriu

La funció itemsize s'utilitza per obtenir la mida de cada element de matriu. Retorna el nombre de bytes que pren cada element de la matriu.

Considereu l'exemple següent.

Exemple

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

Sortida:

int a cadena
 Each item contains 8 bytes. 

Trobar el tipus de dades de cada element de la matriu

Per comprovar el tipus de dades de cada element de matriu, s'utilitza la funció dtype. Considereu l'exemple següent per comprovar el tipus de dades dels elements de la matriu.

Exemple

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

Sortida:

 Each item is of the type int64 

Trobar la forma i la mida de la matriu

Per obtenir la forma i la mida de la matriu, s'utilitza la funció de mida i forma associada a la matriu numpy.

Considereu l'exemple següent.

Exemple

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

Sortida:

 Array Size: 7 Shape: (1, 7) 

Reforma dels objectes de la matriu

Per la forma de la matriu, ens referim al nombre de files i columnes d'una matriu multidimensional. Tanmateix, el mòdul numpy ens proporciona la manera de remodelar la matriu canviant el nombre de files i columnes de la matriu multidimensional.

La funció reshape() associada a l'objecte ndarray s'utilitza per remodelar la matriu. Accepta els dos paràmetres que indiquen la fila i les columnes de la nova forma de la matriu.

Reformem la matriu que es mostra a la imatge següent.

NumPy Ndarray

Exemple

 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) 

Sortida:

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

Tall a la matriu

El tall a la matriu NumPy és la manera d'extreure una sèrie d'elements d'una matriu. El tall a la matriu es realitza de la mateixa manera que es realitza a la llista de Python.

Considereu l'exemple següent per imprimir un element concret de la matriu.

Exemple

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

Sortida:

quan va sortir la victòria 7
 2 5 

El programa anterior imprimeix el 2ndelement del 0thíndex i 0thelement del 2ndíndex de la matriu.

Linspace

La funció linspace() retorna els valors espaiats uniformement durant l'interval donat. L'exemple següent retorna els 10 valors separats uniformement durant l'interval donat 5-15

Exemple

 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) 

Sortida:

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

Trobar el màxim, el mínim i la suma dels elements de la matriu

El NumPy proporciona les funcions max(), min() i sum() que s'utilitzen per trobar el màxim, el mínim i la suma dels elements de la matriu respectivament.

Considereu l'exemple següent.

Exemple

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

Sortida:

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

Eix de la matriu NumPy

Una matriu multidimensional NumPy està representada per l'eix on l'eix-0 representa les columnes i l'eix-1 representa les files. Podem esmentar l'eix per realitzar càlculs a nivell de fila o columna, com ara l'addició d'elements de fila o columna.

NumPy Ndarray

Per calcular l'element màxim entre cada columna, l'element mínim entre cada fila i l'addició de tots els elements de la fila, considereu l'exemple següent.

Exemple

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

Sortida:

 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] 

Trobar l'arrel quadrada i la desviació estàndard

Les funcions sqrt() i std() associades a la matriu numpy s'utilitzen per trobar l'arrel quadrada i la desviació estàndard dels elements de la matriu respectivament.

La desviació estàndard significa quant varia cada element de la matriu respecte al valor mitjà de la matriu numpy.

Les ordres de Linux creen una carpeta

Considereu l'exemple següent.

Exemple

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

Sortida:

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

Operacions aritmètiques sobre la matriu

El mòdul numpy ens permet realitzar les operacions aritmètiques en matrius multidimensionals directament.

En l'exemple següent, les operacions aritmètiques es realitzen sobre les dues matrius multidimensionals a i b.

Exemple

 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) 

Concatenació de matrius

El numpy ens proporciona l'apilament vertical i l'apilament horitzontal que ens permet concatenar dues matrius multidimensionals verticalment o horitzontalment.

Considereu l'exemple següent.

Exemple

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

Sortida:

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