Iterar matrices en NumPy

En NumPy , puedes iterar sobre elementos de una matriz de manera similar a una lista o arreglo en Python. Aquí hay un ejemplo de cómo hacerlo:

Esta lección introduce una librería o módulo usado en ciencia de datos con Python. Instálalo con pip en local; en el editor de The Data Schools muchas ya vienen precargadas.

Importa, ejecuta el ejemplo mínimo y solo después pasa a casos más complejos.

Ejemplo

    for fila in matriz:
    for elemento in fila:
        print(elemento)
  

Esto imprimirá cada fila de la matriz.


Iterando matrices 2-D en NumPy

Puedes iterar tanto en filas como en columnas de una matriz 2-D. Aquí se muestra cómo hacerlo:

Ejemplo

    for fila in matriz:
    for elemento in fila:
        print(elemento)
  

Esto imprimirá cada elemento individual de la matriz.


Iterando matrices 3-D en NumPy

Si tienes una matriz 3-D, puedes usar un bucle adicional para iterar sobre las capas:

Ejemplo

    for fila in capa:
         for elemento in fila:
            print(elemento)
  

Esto imprimirá cada elemento de la matriz 3-D.


Iterando matrices usando nditer() en NumPy

NumPy proporciona nditer() para iterar eficientemente sobre matrices. Aquí hay un ejemplo:

Ejemplo

    for fila in capa:
         for elemento in fila:
            print(elemento)
  

Iterando en cada elemento escalar en NumPy

Si deseas aplicar una operación a cada elemento de la matriz, puedes utilizar la función np.vectorize() o simplemente realizar una operación directamente:

Ejemplo

    matriz_doble <- matriz * 2

# O utilizando np.vectorize()
duplicar <- function(x) {
    return(x * 2)
}

matriz_doble <- sapply(matriz, duplicar)
  

Matriz iterativa con diferentes tipos de datos en NumPy

NumPy permite matrices de diferentes tipos de datos. Puedes iterar sobre matrices de tipos diferentes como int, float, etc., de manera similar a las matrices homogéneas:

Ejemplo

    matriz_float <- array(c(1.0, 2.0, 3.0, 4.0, 5.0, 6.0), dim = c(2, 3))
for (fila in matriz_float) {
  for (elemento in fila) {
    print(elemento)
  }
}
  

Iterando con diferentes tamaños de paso en NumPy

Puedes controlar el tamaño de paso al iterar sobre una matriz para omitir elementos. Por ejemplo, para iterar sobre cada segundo elemento:

Ejemplo

    matriz <- c(1, 2, 3, 4, 5, 6)
for (elemento in matriz[1:length(matriz)]){
    print(elemento)
}
  

Iteración enumerada usando ndenumerate()

Para iterar sobre una matriz y obtener tanto el valor como la ubicación (índices), puedes usar np.ndenumerate() :

Ejemplo

    for fila in matriz:
    for elemento in fila:
        print(elemento)
  

Practica Iterar matrices en NumPy en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Bucle for

En NumPy , puedes iterar sobre elementos de una matriz de manera similar a una lista o arreglo en Python. Aquí hay un ejemplo.

Ejemplo

    for fila in matriz:
    for elemento in fila:
        print(elemento)
  
Abrir en editor

Ejercicio: Bucle for (2)

Puedes iterar tanto en filas como en columnas de una matriz 2-D. Aquí se muestra cómo hacerlo.

Ejemplo

    for fila in capa:
         for elemento in fila:
            print(elemento)
  
Abrir en editor

Ejercicio: Crear un array NumPy

Si tienes una matriz 3-D, puedes usar un bucle adicional para iterar sobre las capas.

Ejemplo

    import numpy as np
arr = np.array([10, 20, 30])
print(arr)
print(arr * 3)
  
Abrir en editor

Ejercicio: NumPy proporciona

NumPy proporciona nditer() para iterar eficientemente sobre matrices. Aquí hay un ejemplo.

Ejemplo

    resultado = 82
print(resultado)
print(resultado * 2)
  
Abrir en editor

Cómo practicar

1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.