Para la matriz dada a continuación:

mat = np.arange(1,26).reshape(5,5)

Salida:

array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20],
       [21, 22, 23, 24, 25]])

¿Cuál es la diferencia entre la estera [: 3,1: 2] y MAT [: 3,1]?

0
beginner_learner 29 may. 2021 a las 17:35

1 respuesta

La mejor respuesta

La notación array[,] es cortar su np.array en varias dimensiones, separadas por comas

  • 1:2 seleccionará índice 1 para la misma razón exclusiva / exclusiva, pero mantendrá esa dimensión en el resultado

    [[ 2]
     [ 7]
     [12]]
    
    shape is (3, 1)
    
  • 1 seleccionará el mismo índice 1, pero eliminará esa dimensión del resultado

    [ 2  7 12]
    
    shape is (3,)
    

Más complejo con 3-d matriz

>> mat = np.arange(1, 28).reshape((3, 3, 3))  " shape is (3, 3, 3)
[[[ 1  2  3]
  [ 4  5  6]
  [ 7  8  9]]

 [[10 11 12]
  [13 14 15]
  [16 17 18]]

 [[19 20 21]
  [22 23 24]
  [25 26 27]]]


>> mat[:3, 1:2]  # shape is (3, 1, 3)
[[[ 4  5  6]]

 [[13 14 15]]

 [[22 23 24]]]


>> mat[:3, 1]  # shape is (3, 3)
[[ 4  5  6]
 [13 14 15]
 [22 23 24]]
1
azro 29 may. 2021 a las 14:44