Los slices son una forma de acceder a partes de una secuencia, como una lista o un objeto iterable como un np.array
. Se pueden utilizar para acceder a elementos específicos o rangos de elementos en una secuencia.
Para acceder a elementos específicos o rangos de elementos en una lista, se utiliza la sintaxis lista[inicio:fin:paso]
. Por ejemplo:
lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(lista[2:5]) # [2, 3, 4]
print(lista[:5]) # [0, 1, 2, 3, 4]
print(lista[5:]) # [5, 6, 7, 8, 9]
print(lista[::2]) # [0, 2, 4, 6, 8]
Para acceder a elementos específicos o rangos de elementos en un array de NumPy, se utiliza la sintaxis array[inicio:fin:paso]
. Por ejemplo:
import numpy as np
array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(array[2:5]) # [2 3 4]
print(array[:5]) # [0 1 2 3 4]
print(array[5:]) # [5 6 7 8 9]
print(array[::2]) # [0 2 4 6 8]
Para acceder a elementos específicos o rangos de elementos en un array de NumPy con múltiples dimensiones, se utiliza la sintaxis array[inicio:fin:paso]
para cada dimensión. Por ejemplo:
import numpy as np
array = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print(array[1:, 1:]) # [[4 5]
# [7 8]]
print(array[:2, :2]) # [[0 1]
# [3 4]]
print(array[::2, ::2]) # [[0 2]
# [6 8]]
Para modificar elementos específicos o rangos de elementos en un array de NumPy, se utiliza la sintaxis array[inicio:fin:paso] = valor
. Por ejemplo:
import numpy as np
array = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
array[1:, 1:] = 9
print(array) # [[0 1 2]
# [3 9 9]
# [6 9 9]]
Para crear arrays de NumPy, se utiliza la función np.array()
. Por ejemplo:
import numpy as np
array1 = np.zeros((3, 3)) # [[0. 0. 0.]
# [0. 0. 0.]
# [0. 0. 0.]]
array2 = np.ones((3, 3)) # [[1. 1. 1.]
# [1. 1. 1.]
# [1. 1. 1.]]
array1[1:, 1:] = array2[:1, :1]
print(array1) # [[0. 0. 0.]
# [0. 1. 1.]
# [0. 1. 1.]]
import numpy as np
array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# Filtrar elementos mayores que 5
print(array[array > 5]) # [6 7 8 9]
# Combinar condiciones
print(array[(array > 3) & (array < 8)]) # [4 5 6 7]
# Con arrays 2D
matriz = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print(matriz[matriz % 2 == 0]) # [0 2 4 6 8] - Todos los valores pares
# Modificar elementos con indexación booleana
matriz[matriz % 2 == 0] = 1
print(matriz) # [[1 1 1]
# [3 1 5]
# [1 7 1]]