WhatsApp

  
Indexación y Rebanado (Slicing)

Indexación y Rebanado (Slicing) en NumPy

NumPy es una biblioteca en Python que se utiliza para trabajar con arreglos multidimensionales, matrices y funciones matemáticas de alto nivel. En esta sección, aprenderemos sobre la indexación y el rebanado de matrices en NumPy.

Acceso a elementos y modificación

Para acceder a un elemento o elementos específicos en un arreglo NumPy, podemos utilizar la indexación tradicional mediante corchetes. Los índices en un arreglo NumPy comienzan desde 0.

import numpy as np
# Crear un arreglo NumPy de una dimensión
arr = np.array([1, 2, 3, 4, 5])
# Acceder al segundo elemento del arreglo
print(arr[1])
# Salida: 2
# Modificar el tercer elemento del arreglo
arr[2] = 6
print(arr)
# Salida: [1 2 6 4 5]

Rebanado de matrices: acceso a filas, columnas y submatrices

El rebanado nos permite acceder a secciones específicas de una matriz. Podemos utilizar dos puntos para especificar un rango de índices en la forma [inicio:fin]. Es importante recordar que el rango final no está incluido.

# Crear una matriz NumPy de dos dimensiones
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Acceder a la segunda fila de la matriz
print(matrix[1, :])
# Salida: [4 5 6]
# Acceder a la segunda columna de la matriz
print(matrix[:, 1])
# Salida: [2 5 8]
# Acceder a una submatriz
print(matrix[1:3, 0:2])
# Salida: [[4 5] [7 8]]

Indexación avanzada: indexación booleana, indexación con listas de índices

NumPy también nos permite realizar indexación avanzada utilizando booleanos o listas de índices.

# Crear un arreglo NumPy
arr = np.array([1, 2, 3, 4, 5])
# Utilizar indexación booleana para obtener los elementos mayores que 3
mask = arr > 3
print(arr[mask])
# Salida: [4 5]
# Utilizar una lista de índices para obtener elementos específicos
indices = [1, 3]
print(arr[indices])
# Salida: [2 4]

Ejemplos cotidianos en análisis de datos e Inteligencia Artificial

La indexación y el rebanado son técnicas clave en el análisis de datos e Inteligencia Artificial. Aquí tienes algunos ejemplos cotidianos:

  • Seleccionar las filas con datos faltantes en un conjunto de datos para su posterior limpieza.
  • Acceder a las columnas con características específicas en un conjunto de datos para el entrenamiento de modelos de aprendizaje automático.
  • Extraer una región de interés de una imagen para su posterior procesamiento en tareas de visión por computadora.

¡Estos son solo algunos ejemplos! La indexación y el rebanado son técnicas flexibles y potentes que nos permiten acceder y manipular datos de manera eficiente en NumPy.

Selección de filas con datos faltantes en un conjunto de datos

Cuando trabajamos con conjuntos de datos, es común encontrarnos con filas que tienen datos faltantes o nulos. Estos valores pueden afectar el análisis y los modelos de aprendizaje automático que construimos. Por lo tanto, es importante identificar y seleccionar estas filas para su posterior limpieza.

En este ejemplo, utilizaremos NumPy para seleccionar las filas con datos faltantes en un conjunto de datos. Primero, cargaremos el conjunto de datos en un arreglo de NumPy. A continuación, utilizaremos la función np.isnan() para identificar las filas con valores nulos. Finalmente, filtraremos el arreglo original utilizando la indexación booleana para obtener únicamente las filas con datos faltantes.

import numpy as np
# Cargar conjunto de datos en un arreglo de NumPy
data = np.array([[1, 2, np.nan], [4, np.nan, 6], [np.nan, 8, 9]])
# Identificar filas con valores nulos
mask = np.isnan(data).any(axis=1)
# Filtrar arreglo original utilizando la indexación booleana
data_with_nulls = data[mask]
# Imprimir filas con datos faltantes
print(data_with_nulls)

Este código imprimirá las filas que contienen datos faltantes en el conjunto de datos:

[[ 4. nan  6.]
 [nan  8.  9.]]

Una vez que tenemos las filas con datos faltantes, podemos tomar medidas adicionales según sea necesario, como eliminar las filas o imputar valores a esos datos faltantes.

Acceso a columnas con características específicas en un conjunto de datos

En el análisis de datos y el entrenamiento de modelos de aprendizaje automático, a menudo necesitamos seleccionar columnas específicas que representan características importantes para nuestro análisis o modelo. Utilizando NumPy, podemos acceder a estas columnas de manera eficiente utilizando la indexación.

En este ejemplo, utilizaremos un conjunto de datos y seleccionaremos las columnas que representan características específicas. Primero, cargaremos el conjunto de datos en un arreglo de NumPy. A continuación, utilizaremos la indexación para seleccionar las columnas deseadas.

import numpy as np
# Cargar conjunto de datos en un arreglo de NumPy
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Acceder a las columnas deseadas
columnas_deseadas = [0, 2]  # Índices de las columnas a seleccionar
columnas_seleccionadas = data[:, columnas_deseadas]
# Imprimir las columnas seleccionadas
print(columnas_seleccionadas)

Este código imprimirá las columnas seleccionadas del conjunto de datos:

[[1 3]
 [4 6]
 [7 9]]

Una vez que tenemos las columnas seleccionadas, podemos utilizarlas para nuestro análisis o entrenamiento de modelos de aprendizaje automático.

en IA
Indexación y Rebanado (Slicing)
ASIMOV Ingeniería S. de R.L. de C.V., Emiliano Nava 14 noviembre, 2023
Compartir
Categorías


Iniciar sesión dejar un comentario

  
Fundamentos de NumPy