0Pricing
Learn AI with Python · Lección

Indexación, slicing e indexación avanzada

Slicing básico, máscaras booleanas, indexación avanzada y np.where() para la selección condicional.

Indexación, slicing e indexación avanzada es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Conceptos básicos de indexación

Los arrays de NumPy utilizan indexación basada en cero, igual que las listas de Python. Los índices negativos cuentan desde el final.

import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0])    # 10
print(a[-1])   # 50

Segmentación 1D

Las segmentaciones usan start:stop:step y devuelven una vista (no una copia), por lo que modificar una segmentación cambia el original.

print(a[1:4])    # [20 30 40]
print(a[::2])    # [10 30 50]
view = a[1:3]
view[0] = 99
print(a)         # [10 99 30 40 50]

Indexación 2D [row, col]

Para arrays 2D, use un único par de corchetes que contenga ambas coordenadas: m[row, col]. Es más claro y rápido que m[row][col].

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[1, 2])   # 6
print(m[0, 0])   # 1

Segmentación de filas y columnas

Use dos puntos para seleccionar un eje completo. m[:, 1] selecciona la columna 1 en todas las filas.

print(m[0, :])    # first row:    [1 2 3]
print(m[:, 1])    # second col:   [2 5 8]
print(m[1:, :2])  # bottom-left block

Máscaras booleanas

Una comparación produce un array booleano de la misma forma. Al indexar con esa máscara, solo se conservan las posiciones True.

a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask)     # [False  True False  True False]
print(a[mask])  # [12 20]

Combinación de condiciones

Use los operadores elemento a elemento & (and) y | (or) con paréntesis. Las palabras clave de Python and/or NO funcionan con arrays.

print(a[(a > 4) & (a < 15)])   # [ 5 12  7]

Asignación mediante una máscara

Puede escribir en las posiciones seleccionadas por la máscara para limpiar los datos in situ, por ejemplo, limitando los valores atípicos a un máximo.

a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a)   # [ 5 10  7 10  3]

Indexación avanzada con arrays

Pase un array (o una lista) de índices enteros para seleccionar elementos arbitrarios en cualquier orden, incluso con repeticiones. Esto devuelve una copia, no una vista.

a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx])   # [50 10 30 30]

Indexación avanzada en 2D

Proporcione dos arrays de índices para seleccionar pares específicos (fila, columna). Aquí seleccionamos las esquinas de la diagonal.

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols])   # [1 9]

Selección condicional con np.where

np.where(cond, x, y) devuelve elementos de x donde la condición es True y, en caso contrario, de y: es un if-else vectorizado.

a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a))   # [0 5 0 3]  (clip negatives)

np.where para encontrar índices

Cuando se llama con un solo argumento, np.where(cond) devuelve los índices donde se cumple la condición.

a = np.array([10, 20, 30, 40])
print(np.where(a > 15))   # (array([1, 2, 3]),)

Comprobación rápida

Ponga a prueba sus conocimientos de indexación.

Resumen

Técnicas de selección:

  • Indexación y segmentación básicas (las segmentaciones son vistas)
  • Acceso 2D con m[row, col] y al eje completo con :
  • Máscaras booleanas con & y |
  • Indexación avanzada con arrays de índices (devuelve una copia)
  • np.where(cond, x, y) para if-else vectorizado

Preguntas frecuentes

¿La lección «Indexación, slicing e indexación avanzada» es gratis?

Sí — el texto completo de «Indexación, slicing e indexación avanzada» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Indexación, slicing e indexación avanzada»?

Slicing básico, máscaras booleanas, indexación avanzada y np.where() para la selección condicional. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Indexación, slicing e indexación avanzada»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación y propiedades de arrays
  2. Indexación, slicing e indexación avanzada
  3. Broadcasting y operaciones vectorizadas
  4. Álgebra lineal con NumPy
← Volver a Learn AI with Python