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.
Ejercicio: Bucle for (2)
Puedes iterar tanto en filas como en columnas de una matriz 2-D. Aquí se muestra cómo hacerlo.
Ejercicio: Crear un array NumPy
Si tienes una matriz 3-D, puedes usar un bucle adicional para iterar sobre las capas.
Ejercicio: NumPy proporciona
NumPy proporciona nditer() para iterar eficientemente sobre matrices. Aquí hay un ejemplo.
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.