Iterar sobre filas de una matriz Numpy en Python

Vaibhhav Khetarpal 20 junio 2023
  1. Use un bucle for anidado para iterar sobre filas de una matriz Numpy en Python
  2. Use un bucle for y la función flatten() para iterar sobre filas de una matriz Numpy en Python
  3. Use la función apply_along_axis() para iterar sobre filas de una matriz Numpy en Python
Iterar sobre filas de una matriz Numpy en Python

Python utiliza principalmente la biblioteca NumPy para permitir la implementación de matrices en su código; estas matrices pueden ser n-dimensionales. Iterar sobre los elementos de una matriz es una de las pocas cosas que un programador puede encontrar al implementar matrices.

Este tutorial demuestra cómo iterar sobre las filas de una matriz NumPy en Python.

El concepto de filas y columnas no existe en una matriz unidimensional; por lo tanto, hablaremos de arreglos con al menos dos dimensiones. La mayoría de los métodos e implementaciones de este artículo se llevarían a cabo en una matriz bidimensional.

Use un bucle for anidado para iterar sobre filas de una matriz Numpy en Python

Para iterar los elementos de una sola fila, podemos utilizar el bucle for solo. Sin embargo, para iterar sobre varias filas de una matriz NumPy, necesitamos anidar el bucle for.

El funcionamiento es sencillo y el código utiliza bucles for anidados para acceder e iterar sobre todos los elementos de una matriz en forma de fila.

El siguiente código utiliza un bucle for anidado para iterar sobre las filas de una matriz NumPy en Python.

import numpy as np

x = np.matrix([[21, 22, 23], [24, 25, 26], [27, 28, 29]])
for row in x:
    print(str(row))

El código anterior proporciona el siguiente resultado:

[[21 22 23]]
[[24 25 26]]
[[27 28 29]]

Aquí, usamos el comando print para imprimir cada fila. Si se dan más detalles, también se puede implementar cualquier función sobre las filas de una matriz NumPy.

Use un bucle for y la función flatten() para iterar sobre filas de una matriz Numpy en Python

En lugar de anidar el bucle for, podemos tomar una ruta alternativa, que usa la función flatten() para iterar sobre las filas de una matriz NumPy en Python. La función flatten() puede convertir una matriz bidimensional en una unidimensional, lo que hace posible obtener el resultado necesario aplicando el ciclo for solo una vez en el programa.

El siguiente código usa un bucle for y la función flatten() para iterar sobre las filas de una matriz NumPy en Python.

import numpy as np

x = np.matrix([[21, 22, 23], [24, 25, 26], [27, 28, 29]])
for cell in x.flatten():
    print(cell, end=" ")

El código anterior proporciona el siguiente resultado:

[[21 22 23 24 25 26 27 28 29]]

Use la función apply_along_axis() para iterar sobre filas de una matriz Numpy en Python

La biblioteca NumPy proporciona la función NumPy.apply_along_axis() que puede aplicar una función a los elementos de una matriz a lo largo de cualquier eje especificado por el programador. La función apply_along_axis() tiene una sintaxis simple, que toma en cuenta la función que el programador necesita implementar, el eje especificado y la matriz en la que debe ocurrir la implementación.

El siguiente código usa la función apply_along_axis() para iterar sobre las filas de una matriz NumPy en Python.

import numpy as np

x = np.matrix([[21, 22, 23], [24, 25, 26], [27, 28, 29]])


def myfunction(a):
    return a


print(np.apply_along_axis(myfunction, axis=1, arr=x))

El código anterior proporciona el siguiente resultado:

[[21 22 23]
 [24 25 26]
 [27 28 29]]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artículo relacionado - NumPy Array