Matrices en Python

por | May 21, 2018 | Python | 7 Comentarios

Declarar una Matriz

import numpy as np
matrix_aux = [[1,2,3],
     [4,5,6]]

m = np.array(matrix_aux)
l = np.zeros((3, 3))
print(l)
[[ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]]
l = np.ones([3,3])
print(l)
[[ 1.  1.  1.]
 [ 1.  1.  1.]
 [ 1.  1.  1.]]
l = np.diag([1,1,1])
print(l)
[[1 0 0]
 [0 1 0]
 [0 0 1]]

 

Acceder a elementos de la matriz

print(m[1,1])
print(m[:,2])
print(m[0,:])
print(m[0,::-1])

 

Sumar de elementos de la matriz

Sumar todos los elementos

print(m.sum())

Sumar de una fila de la matriz

print(m[0,:].sum())

 

Aplanar una matrix

print( m.flatten() )
[1 2 3 4 5 6]

 

Concatenación de matrices

print( np.concatenate((m,m), axis=0) )
[[1 2 3]
 [4 5 6]
 [1 2 3]
 [4 5 6]]
print( np.concatenate((m,m), axis=1) )
[[1 2 3 1 2 3]
 [4 5 6 4 5 6]]

 

Operaciones aritméticas

Tienen la peculiaridad de broadcasting o redifusión, que consite en que si una de las dimensiones a la hora de aplicar la operación no tiene una dimensión correcta pero es unitaria se redifusiona hasta completar la matriz.

m = np.array([[1,2,3],
     [4,5,6]])
v = np.array([[1,2,3]])
print( m * v)
[[ 1  4  9]
 [ 4 10 18]

Esto puede verse gráficamente en el ejemplo siguiente.
operaciones_aritmeticas

7 Comentarios

  1. German

    En una matriz cuadrada, como sumar los números impares y como sumar los numero positivos en python.

    Responder
    • Python1

      Recorre cada posición de la matriz, verifica si el número es par o impar, guarda ese dato en una variable sumándola cada vez por ella misma y el dato que estas validando ya dependiendo si es par o impar

      Responder
      • Python1

        Un poco tarde, pero espero que sea de ayuda a cualquiera que lo esté viendo en el futuro, no comparto el código porque la intención es aprender cada uno, saludos

        Responder
  2. Crsitina

    Sabría alguieb como generar una matriz aleatoria de distribucion normal y tamaño 10×4; y después seleccionar las filas cuya suma sea mayor que 0.

    gracias de antemano. estoy superapurada porque es muy dificil

    Responder
    • Silla

      Suicidate

      Responder
      • Ropero
      • Puerta

Enviar un comentario

Tu dirección de correo electrónico no será publicada.