Indexado y corte en NumPy

NumPyNumPyBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, cubriremos los conceptos de Indexado y Corte en la Biblioteca Numpy de Python. Aprenderemos cómo acceder, modificar y extraer una serie de elementos de una matriz. También se explicarán y demostrarán diferentes métodos de Indexado en la biblioteca Numpy mediante ejemplos.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

En ocasiones, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema para usted de inmediato.

Comprendiendo los conceptos básicos

  • En una matriz de NumPy, el corte es básicamente la forma de extraer una serie de elementos de una matriz.
  • Los elementos del objeto ndarray siempre siguen un índice basado en cero.
  • Para acceder y modificar el contenido del objeto ndarray en la biblioteca Numpy, se puede realizar el indexado o el corte de la misma manera que en el objeto de contenedor integrado de Python.

Corte de matrices de NumPy

  • El corte en una matriz se realiza de la misma manera que en una lista de Python.
  • Si una matriz tiene 100 elementos y solo desea elegir una sección de los valores, puede realizar un corte y extraer el conjunto de valores requeridos de la matriz ndarray completa.
  • Aprenda el corte de listas de Python y puede aplicarlo en matrices ndarray de NumPy.

Indexado de matrices de NumPy

  • Hay tres tipos de métodos de indexado disponibles en la biblioteca Numpy:
    • Acceso a campos: Este es el acceso directo a un campo utilizando el índice del valor.
    • Corte básico: El corte básico es simplemente una extensión del concepto básico de corte de Python a las n dimensiones.
    • Indexado avanzado (no se aborda en este laboratorio)

Ejemplos

  • Vamos a revisar algunos ejemplos para entender mejor estos conceptos.

Ejemplo 1 - Corte de una matriz ndarray

import numpy as np

a = np.arange(10)
print("La matriz ndarray es :")
print(a)

s = slice(2,7,2)
print("Después de aplicar la función slice():")
print (a[s])
  • El código anterior prepara un objeto ndarray utilizando la función arange().
  • Se define un objeto de corte con los valores de inicio, fin y paso 2, 7 y 2 respectivamente.
  • Después de eso, este objeto de corte se pasa a la matriz ndarray. Una parte de ella que empieza con el índice 2 hasta 7 con un valor de paso de 2 se cortará.

Ejemplo 2 - Corte de un solo elemento

import numpy as np

a = np.arange(15)
print("La matriz es :")
print(a)

## utilizando el índice directamente
b = a[7]
print("El octavo elemento de la matriz es :")
print (b)
  • El código anterior corta un solo elemento del objeto ndarray.
  • Cortar un solo elemento de la matriz se puede lograr muy fácilmente utilizando el indexado.

Ejemplo 3

import numpy as np

a = np.arange(20)
print("La matriz es :")
print(a)

print("Corte de elementos comenzando desde el índice:")
print(a[2:])
  • El código anterior corta los elementos comenzando desde un índice dado hasta el último índice o el último elemento.

Ejemplo 4

import numpy as np

a = np.arange(20)
print("La matriz es :")
print(a)

print("Corte de elementos entre dos índices dados:")
print(a[2:8])
  • El código anterior corta todos los elementos entre dos índices dados.
  • Excluye el valor del índice final.

Usando los tres puntos suspensivos (...)

  • Al hacer un corte, se utiliza los tres puntos suspensivos (...) para crear una tupla de selección de la misma longitud que la dimensión de una matriz.
  • Para una matriz ndarray multidimensional, si se utilizan los tres puntos suspensivos en la posición de las filas, devolverá una matriz ndarray que comprende los elementos de las filas y, de manera similar, para las columnas.
import numpy as np
a = np.array([[11,2,23],[33,44,5],[84,25,16]])

print ("La matriz es :")
print (a )
print ('\n')

#Para devolver la matriz de elementos de la segunda columna
print ('Los elementos de la segunda columna son:')
print (a[..., 1] )
print ('\n')

#Para cortar todos los elementos de la segunda fila
print ('Los elementos de la segunda fila son:')
print (a[1,...])
print ('\n')

#Para cortar todos los elementos a partir de la columna 1 en adelante
print ('Los elementos a partir de la columna 1 son:' )
print (a[..., 1:])

Resumen

En este laboratorio, hemos cubierto el concepto de indexado y corte en la biblioteca Numpy. Hemos aprendido diferentes métodos de indexado en la biblioteca Numpy y varios métodos de corte de matrices. También hemos visto ejemplos que demuestran la implementación práctica de estos conceptos.