zeros index empty create array arange python arrays numpy

python - index - numpy array size



Python: cortar una matriz multidimensional (1)

Si usa numpy , esto es fácil:

slice = arr[:2,:2]

o si quieres los 0''s,

slice = arr[0:2,0:2]

Obtendrás el mismo resultado.

* tenga en cuenta que slice es en realidad el nombre de un tipo incorporado. Generalmente, aconsejaría darle a su objeto un "nombre" diferente.

Otra forma, si está trabajando con listas de listas *:

slice = [arr[i][0:2] for i in range(0,2)]

(Tenga en cuenta que los 0 aquí son innecesarios: [arr[i][:2] for i in range(2)] también funcionaría.).

Lo que hice aquí es que tomo cada fila deseada 1 a la vez ( arr[i] ). Luego corto las columnas que quiero de esa fila y las agrego a la lista que estoy construyendo.

Si intentas ingenuamente: arr[0:2] Obtienes las primeras 2 filas, y si luego vuelves a cortar arr[0:2][0:2] , estás cortando las dos primeras filas otra vez.

* Esto también funciona para matrices numpy, pero será lento en comparación con la solución "nativa" que publiqué anteriormente.

Soy nuevo en Python y numpy. He descubierto cómo cortar 1 dimensión: arr[atart:end] , y acceder a un elemento en la matriz: el = arr[row][col] .

Probar algo como slice = arr[0:2][0:2] (donde arr es una matriz numpy) no me da las primeras 2 filas y columnas, pero repite las primeras 2 filas. ¿Qué acabo de hacer y cómo puedo cortar otra dimensión?