Corte de matriz NumPy


Matrices de corte

Cortar en python significa tomar elementos de un índice dado a otro índice dado.

Pasamos slice en lugar de index así: .[start:end]

También podemos definir el paso, así: .[start:end:step]

Si no pasamos start se considera 0

Si no pasamos finaliza su longitud considerada de matriz en esa dimensión

Si no pasamos el paso se considera 1

Ejemplo

Divide los elementos del índice 1 al índice 5 de la siguiente matriz:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5])

Nota: El resultado incluye el índice inicial, pero excluye el índice final.

Ejemplo

Corta elementos desde el índice 4 hasta el final de la matriz:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[4:])

Ejemplo

Cortar elementos desde el principio hasta el índice 4 (no incluido):

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[:4])


Rebanado negativo

Use el operador menos para referirse a un índice desde el final:

Ejemplo

Cortar desde el índice 3 desde el final hasta el índice 1 desde el final:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[-3:-1])

PASO

Utilice el stepvalor para determinar el paso del corte:

Ejemplo

Devuelve cualquier otro elemento del índice 1 al índice 5:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5:2])

Ejemplo

Devuelve todos los demás elementos de toda la matriz:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[::2])

Rebanar arreglos 2-D

Ejemplo

Desde el segundo elemento, corte los elementos del índice 1 al índice 4 (no incluido):

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[1, 1:4])

Nota: Recuerda que el segundo elemento tiene índice 1.

Ejemplo

De ambos elementos, devuelva el índice 2:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 2])

Ejemplo

De ambos elementos, corte el índice 1 al índice 4 (no incluido), esto devolverá una matriz 2-D:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 1:4])

Ponte a prueba con ejercicios

Ejercicio:

Inserte la sintaxis de división correcta para imprimir la siguiente selección de la matriz:

Todo, desde (incluido) el segundo elemento hasta (sin incluir) el quinto elemento.

arr = np.array([10, 15, 20, 25, 30, 35, 40])

print(arr)