Introducción
NumPy es una popular biblioteca de Python utilizada para el cálculo científico. Proporciona operaciones de matrices de alto rendimiento y funciones matemáticas que son útiles para el análisis de datos numéricos. En este laboratorio, aprenderá las características de rebanado y indexación de NumPy.
Rebanado de matrices
El rebanado es el proceso de extraer un subconjunto de una matriz especificando un rango de índices. Las matrices de NumPy se pueden rebanar utilizando el operador dos puntos :.
Abrir la consola de Python
Abra la consola de Python escribiendo el siguiente comando en la terminal.
python3
Importar NumPy
NumPy ya está instalado, puede importarlo en su código de Python:
import numpy as np
Rebanar matrices en una dimensión
## crear una matriz de una dimensión
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
## rebanar la matriz desde el índice 2 hasta el índice 5
print(a[2:5])
Salida:
[2 3 4]
Rebanar matrices en múltiples dimensiones
También puede rebanar matrices en múltiples dimensiones.
## crear una matriz de dos dimensiones
b = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])
## rebanar las dos primeras filas y las dos primeras columnas
print(b[:2, :2])
Salida:
[[0 1]
[3 4]]
Indexación con matrices booleanas
La indexación booleana es una característica poderosa que nos permite filtrar una matriz en función de una condición. Puede crear una matriz booleana aplicando un operador lógico a una matriz existente.
Crear una matriz de una dimensión
c = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Crear una matriz booleana basada en la condición (c > 5)
mask = c > 5
print(mask)
Salida:
[False False False False False False True True True True]
Filtrar la matriz original utilizando la matriz booleana
print(c[mask])
Salida:
[6 7 8 9]
Indexación elegante
La indexación elegante es una forma de indexar una matriz utilizando una matriz de índices. Puede utilizar esta técnica para extraer elementos específicos o subconjuntos de una matriz.
## crear una matriz de una dimensión
d = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
## crear una matriz de índices
indices = np.array([1, 3, 5])
## utilizar la indexación elegante para extraer los elementos en los índices especificados
print(d[indices])
Salida:
[1 3 5]
- También puede utilizar la indexación elegante para asignar valores a elementos específicos en una matriz.
## crear una matriz de una dimensión
e = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
## crear una matriz de índices
indices = np.array([1, 3, 5])
## asignar el valor 10 a los elementos en los índices especificados
e[indices] = 10
print(e)
Salida:
[ 0 10 2 10 4 10 6 7 8 9]
Resumen
¡Felicitaciones! Has completado el Laboratorio de Rebanado e Indexación de NumPy.
En este laboratorio, cubriste los conceptos básicos de rebanado e indexación de matrices de NumPy:
- El rebanado te permite extraer un subconjunto de una matriz especificando un rango de índices.
- La indexación booleana te permite filtrar una matriz en función de una condición.
- La indexación elegante te permite extraer elementos o subconjuntos específicos de una matriz utilizando una matriz de índices.



