Está en la página 1de 7

Autor: Xavier Pauta

Contacto: 0980782990

Crear una Matriz:

• Con datos:
La función np.array(estructura) retorna una matriz con los
datos de estructura (lista de listas o lista de tuplas).

• Sin datos:
La función np.zeros( (n,m) ) retorna una matriz con n filas
y m columnas donde sus elementos son ceros flotantes, es
decir, decimales.

• Valores aleatorios:
Para crear un vector con valores aleatorios en un rango
determinado usamos la función:
np.random.randint(inicio, fin, (n,m) )
Esta función retorna una matriz con n filas y m columnas
donde sus elementos son valores enteros que se encuentran
entre [inicio: fin), es decir el valor de fin no está
incluido.
• Indexación:

Para poder obtener un elemento de una matriz es necesario conocer


su coordenada en x y y.

M = np.array([ [8, 5, 1, 9],


[3, 2, 6, 5],
[4, 7, 10, 3]])

Forma general: M[fila, columna]

e1= M[0][3] → 9
e2= M[1][2] → 6
e3= M[2][3] → 3
e4= M[0][0] → 8

• Slicing:

Al realizar un slicing se pueden obtener un vector o una matriz.

Forma general: M[fi:ff , ci:cf]

fi: fila de inicio ci: columna de inicio


ff: fila de fin cf: columna de fin

Al igual que en los slicing de listas o vectores la posición


final (fi y cf) no están incluidas.

s1= M[0:2, 1:4] ↔ M[:2, 1:4] → Matriz


s2= M[0:3, 0] ↔ M[:3, 0] → Vector
s3= M[0, 4:8] ↔ M[0, 4:] → Vector
s4= M[2:6, 5:8] ↔ M[2:6, 5:] → Matriz
s5= M[3:7, 0:5:2] ↔ M[3:, :5:2] → Matriz
s6= M[6, 1:8:2] ↔ M[6, 1::2] → Vector

Extraer una fila: M[f,:] ↔ M[f]


Extraer una Columna: M[:, c]
Operaciones entre matriz y escalar:

Al igual como sucede en vectores todas las operaciones se


realizan elemento a elemento.

M= np.array( [[2, 9, 2, 5],


[7, 5, 6, 3],
[8, 1, 9, 8]])

• Sumar un vector con un número:

result= M+4

result → [[6 13 6 9]
[11 9 10 7]
[12 5 13 12]]

Nota: Las demás operaciones (-, *, /, //, %, **) se


realizan de la misma forma.

Operaciones entre vectores:

Todas las operaciones se realizan elemento a elemento, por lo que


será necesario que las matrices sean paralelos.

M1= np.array( [[2, 9, 2],


[7, 5, 3]])

M2= np.array( [[3, 0, 7],


[6, 1, 4]])

• Suma de vectores:

result= M1 + M2

result → [[ 5 9 9]
[13 6 7]]

Nota: Las demás operaciones (-, /, //, %, **) se realizan


de la misma forma.
Ejes:

Los ejes en la práctica nos serán útiles para especificar a una


función si queremos trabajar sobre las filas (axis=1) o sobre
las columnas (axis=0).

Funciones para matrices numéricas:

Las siguientes funciones sólo sirven para matrices con datos


numéricos.

Para los ejemplos usaremos la siguiente matriz:

M= np.array( [[2, 9, 2, 5],


[7, 5, 6, 3],
[8, 1, 9, 8]])

Función np.sum()
Sintaxis: np.sum(M)

Esta función retorna la suma de todos los valores de la Matriz.

Total= np.sum(M) → 65

Sin embargo, también podemos especificar si queremos una suma


por filas o por columnas (en ambos casos obtenemos un vector).

totalFilas= np.sum(M, axis=1) → [18 21 26]


totalColumnas= np.sum(M, axis=0) → [17 15 17 16]

Función np.max()
Sintaxis: np.max(M)

Esta función retorna el valor máximo de la matriz.

maximo= np.max(M) → 9

Al igual que en el ejemplo anterior, se puede especificar si


queremos que la función se ejecute por filas o por columnas.

maximosFilas= np.max(M, axis=1) → [9 7 9]


maximosColumnas= np.max(M, axis=0) → [8 9 9 8]
Función np.min()
Sintaxis: np.min(M)

Esta función retorna el valor mínimo de la matriz. Al igual que


las funciones anteriores se puede especificar el eje.

Función np.mean()
Sintaxis: np.mean(M)

Esta función retorna el promedio de los valores de la matriz. Al


igual que las funciones anteriores se puede especificar el eje.

Función np.sort()
Sintaxis: np.sort(M)

Esta función retorna una nueva matriz con los valores de cada
fila ordenada de forma ascendente. También se puede especificar
axis=0 para que los valores sean ordenados por sus columnas.

Función np.unique()
Sintaxis: np.unique(M)

Esta función retorna un vector con los elementos únicos de la


matriz que recibe.

Propiedades

Propiedad shape
Sintaxis: M.shape

Retorna una tupla (n,m) donde n corresponde a la cantidad de


filas y m a la cantidad de columnas.

Propiedad size
Sitaxis: M.size

Retorna la cantidad de elementos de una matriz.

Propiedad ndim

Sintaxis: M.ndim

Retorna la cantidad de dimensiones de una matriz.


Broadcasting:

• Matriz y vector:
o El vector se convierte en una matriz de shape (1, n)
donde n es el tamaño del vector original.
• Entre Matrices:
o Si alguno de los tamaños difiere, pero alguno es
igual a 1 entonces se expande ese tamaño para que
coincida con el de la otra matriz. Por ejemplo:
M1 shape -> (3,2) -> (3,2)
M2 shape -> (3,1) -> (3,2)
o Si los tamaños de cada dimensión son los mismos se
realiza el cálculo sin problemas.
o Si alguno de los tamaños difiere y ninguno es igual a
1 entonces se produce un error.
Ejemplos de Broadcasting:

También podría gustarte