Indexing y slicing en Python

| Última modificación: 15 de julio de 2024 | Tiempo de Lectura: 3 minutos
Premios Blog KeepCoding 2025

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

El indexing y slicing son funciones que podemos utilizar en Python y que nos ayudarán a entender un poco mejor los arrays y que nos permitirán realizar muchas más operaciones con estos.

En este artículo, veamos en qué consisten el indexing y slicing y cómo funcionan.

¿Qué encontrarás en este post?

Indexing y slicing

Indexing

El indexing en arrays funciona exactamente igual que los índex de las listas en Python. Así pues, si tenemos un array de esta forma:

#Indexing y slicing
x1 = np.array ([5, 4, 1, 2, 3])
x1

array ([5, 4, 1, 2, 3])

Obtendríamos esto.

Cabe recordar que los elementos empiezan en índex = 0, no en índedx = 1.

Podemos extraer el primer elemento de nuestro array con un simple comando:

x1 [0]

5

Podemos acceder al último elemento de nuestro array y extraerlo usando -1:

#Indexing y slicing
x1 [-1]

3

O incluso acceder a elementos desde el final del array usando:

#Indexing y slicing
x1 [1 : 3]

array ([4, 1])

Aquí lo que hemos hecho ha sido acceder del elemento 1 al elemento 3, en este caso serían 4 y 1. Veamos:

  • Elemento 0: 5
  • Elemento 1: 4
  • Elemento 2: 1
  • Elemento 3: 2
  • Elemento 4: 3

No se ha incluido el 2 en esta lista porque el índice es igual al índice menos 1 (index = index – 1).

En caso de arrays con más dimensiones, funciona exactamente igual. Lo único diferente es que debemos tener en cuenta que estamos trabajando con más dimensiones a la hora de imprimir los arrays:

#Indexing y slicing
x2 = np.array ([[1,  2,  3],   [4,  5,  6]])
x2 (0, 0)

1

En este caso nos imprime el componente (0, 0), que sería el 1 del array en la primera dimensión.

Si ponemos x2 y solo introducimos un componente, nos sale en pantalla toda la primera fila o dimensión del array:

#Indexing y slicing
x2 [0]

array ([1, 2, 3])

También podemos hacerlo, por ejemplo, con el último valor de la dimensión 1 y el último elemento de la dimensión 2:

#Indexing y slicing
x2 = [-1, -1]

6

Slicing

Podemos extraer subconjuntos pertenecientes a un array usando:

x [start : stop : step]

Si no definimos alguno de ellos, los valores por defecto son: start = 0, stop = size of dimension, step = 1.

Ya hemos visto que podíamos generar una secuencia de números usando numpy.arrange junto al número de elementos que queremos que genere:

#Indexing y slicing
x = np.arange (10)
x

array ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Aquí podríamos extraer, exactamente del mismo modo, hasta el elemento 5:

#Indexing y slicing
x [: 5]

array ([0, 1, 2, 3, 4])

Incluso podríamos extraer cada dos elementos de nuestro array:

#Indexing y slicing
x [: : 2]

array ([2, 4, 6, 8])

También podríamos invertir nuestro array de una manera muy simple:

#Indexing y slicing
x [: : -1]

array ([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])

Aquí lo que estamos haciendo es coger todos los elementos, pero empezando desde el último elemento del array.

Para arrays con más de una dimensión es exactamente igual:

#Indexing y slicing
z = np.array ([[1,  2,  3],   [4,  5,  6]])

z [: , 0]

array ([1, 4])

En este caso, lo que hemos hecho ha sido mostrar el primer componente de la primera dimensión y el primer componente de la segunda dimensión.

Podríamos hacerlo al contrario, donde tendríamos algo así:

#Indexing y slicing
z [0, ::2]

array ([1, 3])

Esto lo que hace es coger la primera dimensión, es decir, el [1, 2, 3], y devolvería cada dos valores, que, en este caso, serían el 1 y el 3.

Incluso podríamos coger la segunda dimensión, es decir, el [4, 5, 6], y darle la vuelta:

#Indexing y slicing
z [1, : : -1]

array ([6, 5, 4])

Podemos también modificar los elementos de los arrays, que funciona igual en las listas:

#Indexing y slicing
z [0, 0] = 100
z

array ([[100, 2, 3],

[4, 5, 6]])

En este ejemplo, cambiamos el primer elemento de la primera dimensión.

Ya sabes cómo funcionan el indexing y slicing en Python, por lo que ha llegado el momento de seguir aprendiendo sobre Big Data, una de las disciplinas más demandadas y mejor pagadas. Para ello tenemos el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que podrás aprender a nivel teórico y práctico para incursionar en el mercado laboral en pocos meses. ¡Atrévete a impulsar tu futuro y pide más información ahora!

Noticias recientes del mundo tech

¡CONVOCATORIA ABIERTA!

Big Data & Data Science

Full Stack Bootcamp

Clases en Directo | Acceso a +600 empresas | 98% de empleabilidad

Fórmate con planes adaptados a tus objetivos y logra resultados en tiempo récord.
KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.