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)