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 step
valor 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])