Rebanado e Indexación de NumPy

PythonBeginner
Practicar Ahora

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.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

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.