vectorize loop index for array python loops numpy

loop - python iterate numpy array



Numerar cómo iterar sobre las columnas de la matriz? (4)

Esto debería darte un comienzo

>>> for col in range(arr.shape[1]): some_function(arr[:,col]) [1 2 3 4] [99 14 12 43] [2 5 7 1]

Supongamos que tengo y mxn array. Quiero pasar cada columna de esta matriz a una función para realizar alguna operación en toda la columna. ¿Cómo iterar sobre las columnas de la matriz?

Por ejemplo, tengo una matriz 4 x 3 como

1 99 2 2 14 5 3 12 7 4 43 1 for column in array: some_function(column)

donde la columna sería "1,2,3,4" en la primera iteración, "99,14,12,43" en la segunda y "2,5,7,1" en la tercera.


Para una matriz tridimensional puede intentar:

para c en array.transpose (1, 0, 2): do_stuff (c)

Consulte los documentos sobre cómo funciona array.transpose . Básicamente, estás especificando qué dimensión cambiar. En este caso, estamos cambiando la segunda dimensión (por ejemplo, columnas) a la primera dimensión.


Simplemente itere sobre la transposición de su matriz:

for column in array.T: some_function(column)


for c in np.hsplit(array, array.shape[1]): some_fun(c)