Ir al contenido principal

Domina el método .explode() de pandas: guía completa

Aprende todo lo necesario sobre el método .explode() de pandas: columnas simples y múltiples, manejo de datos anidados y errores comunes, con ejemplos prácticos en Python.
Actualizado 17 sept 2026  · 5 min leer

Explorar con IA

ChatGPTClaudePerplexity

En el mundo de la manipulación de datos con pandas, el método .explode() es una herramienta muy útil cuando trabajas con listas dentro de DataFrames. Este tutorial es un manual para dominar .explode(), desde su mecánica básica hasta aplicaciones avanzadas y errores frecuentes.

La respuesta corta: así funciona .explode()

Si buscas una explicación rápida, quédate con esta sección. El método .explode() está pensado para expandir los elementos de una columna con valores tipo lista en varias filas, convirtiendo cada elemento de la lista en una fila independiente. Por ejemplo, usaremos el siguiente DataFrame df para ilustrarlo:

ID

Interests

1

['Python', 'Data Science']

2

['Machine Learning', 'AI']

El método .explode() expandirá los elementos de la columna Interests, así:

# Explode the Interests column 
exploded_df = df.explode('Interests')

ID

Interests

1

Python

1

Data Science

2

Machine Learning

2

AI

¿Qué es el método .explode() de pandas?

El método .explode() simplifica el manejo de datos anidados, como listas o tuplas, dentro de DataFrames de pandas. Al convertir cada elemento de una estructura tipo lista en una fila independiente, .explode() mejora la accesibilidad y la preparación de los datos para su análisis.

¿Cómo funciona el método .explode()?

La funcionalidad de .explode() es potente y directa, pensada para ser fácil de usar y eficiente en tareas de manipulación de datos.

  • Column: indica la columna con entradas tipo lista que se van a expandir.
  • ignore_index: cuando se establece en True, reinicia el índice a un entero por defecto, lo que ayuda a mantener la integridad del DataFrame tras la explosión. Por defecto es False.

Dos formas de usar el método .explode() de pandas

Expandir una sola columna en pandas

El caso más común consiste en expandir una sola columna, convirtiendo cada una de sus entradas tipo lista en filas individuales. En la sección de la respuesta corta ya lo vimos. Vamos a retomarlo. Aquí tenemos el DataFrame df, que contiene los IDs de personas y sus intereses de aprendizaje. Como ves, los intereses están en formato lista.

ID

Interests

1

['Python', 'Data Science']

2

['Machine Learning', 'AI']

El método .explode() expandirá los elementos de la columna Interests en filas individuales así:

# Explode the Interests column 
exploded_df = df.explode('Interests')

ID

Interests

1

Python

1

Data Science

2

Machine Learning

2

AI

Este método es especialmente útil para columnas con datos categóricos o con múltiples atributos por observación.

Expandir varias columnas en pandas

También puedes encontrarte con situaciones en las que necesites expandir varias columnas dentro de un DataFrame. Es muy útil cuando trabajas con conjuntos de datos en los que varias columnas contienen estructuras tipo lista que deben desplegarse a la vez. Añadamos una columna adicional Tools a df para ilustrarlo:

ID

Interests

Tools

1

['Python', 'Data Science']

['Pandas', 'NumPy']

2

['Machine Learning', 'AI']

['Scikit-learn', 'TensorFlow']

Para expandir varias columnas, incluye la lista de columnas que quieres explotar:

# Explode the Interests & Tools columns
exploded_df = df.explode(['Interests', 'Tools'])

ID

Interests

Tools

1

Python

Pandas

1

Data Science

NumPy

2

Machine Learning

Scikit-learn

2

AI

TensorFlow

Este enfoque es muy práctico cuando trabajas con varias columnas que contienen listas. Dicho esto, hay algunos escollos con .explode() que conviene tener en cuenta y que veremos a continuación.

Errores comunes al usar .explode() en pandas y cómo solucionarlos

Duplicar columnas al expandir

Un error habitual al trabajar con .explode() es expandir por accidente columnas duplicadas al usar el método. Recuerda: ¡asegúrate siempre de que la lista de columnas sea única!

# Incorrecto: se expanden columnas duplicadas
df.explode(['Interests','Tools','Interests'])

# Correcto: se expanden columnas únicas
df.explode(['Interests','Tools'])

Expandir cadenas que parecen listas

A menudo puedes tener filas en tus DataFrames que son cadenas pero parecen listas. Intentar expandir una columna con cadenas que parecen listas, como "['Python', 'AI']", no produce cambios porque el método .explode() espera objetos realmente tipo lista, no strings con ese aspecto. Aquí tienes un ejemplo y su solución. Imagina que df tuviera estos valores:

ID

Interests

1

"['Python', 'Data Science']"

2

"['Machine Learning', 'AI']"

Como ves, la columna Interests contiene valores que son cadenas con formato de lista. Usar .explode() sobre Interests no cambiaría nada porque cada valor es una única cadena. Para solucionarlo, convierte los valores de Interests en listas reales.

import ast

df['Interests'] = df['Interests'].apply(ast.literal_eval)
exploded_df = df.explode('Interests')
print(exploded_df) # Esto sí funcionará

Longitudes no coincidentes en múltiples columnas

Al trabajar con DataFrames de pandas, es frecuente encontrarse con filas en las que las estructuras tipo lista en las columnas a expandir tienen longitudes diferentes. Esta discrepancia puede provocar datos desalineados o incompletos tras usar .explode() en varias columnas. Por ejemplo, imagina que df es así:

ID

Interests

Tools

1

['Python', 'Data Science']

['Pandas']

2

['Machine Learning']

['Scikit-learn', 'TensorFlow']

Como ves, las columnas Interests y Tools contienen listas de distinta longitud. Usar .explode() sobre estas columnas tal cual provocará un error, ya que las columnas deben tener el mismo número de valores en las listas. Para solucionarlo, puedes rellenar las listas con None usando una función personalizada, como esta:

​​# Function to pad lists to the same length
def pad_lists(row):
    max_len = max(len(row['Interests']), len(row['Tools']))
    row['Interests'] += [None] * (max_len - len(row['Interests']))
    row['Tools'] += [None] * (max_len - len(row['Tools']))
    return row

# Apply the padding function to each row
df = df.apply(pad_lists, axis=1)

# Now, safely explode both columns
df.explode(['Interests','Tools'])

ID

Interests

Tools

1

Python

Pandas

1

Data Science

None

2

Machine Learning

Scikit-learn

2

None

TensorFlow

Para terminar

En resumen, .explode() es muy útil para desplegar los elementos de una lista como filas en un DataFrame de pandas. Si quieres seguir aprendiendo pandas, echa un vistazo a estos recursos:


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel es educador de Ciencia de Datos, conferenciante y Evangelista en DataCamp, donde ha publicado varios cursos y formación en directo sobre análisis de datos, aprendizaje automático e ingeniería de datos. Le apasiona difundir las habilidades y la alfabetización en materia de datos en las organizaciones y en la intersección entre tecnología y sociedad. Tiene un máster en Ciencia de Datos y Análisis Empresarial. En su tiempo libre, puedes encontrarle pasando el rato con su gato Louis.

Temas
Python

¡Empieza hoy tu viaje con pandas!

Curso

Manipulación de datos con pandas

4 h
563.9K
Aprende a importar y limpiar datos, calcular estadísticas y crear visualizaciones con pandas.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado
data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Tutorial de Pandas: DataFrames en Python

Explora el análisis de datos con Python. Los DataFrames de Pandas facilitan la manipulación de tus datos, desde la selección o sustitución de columnas e índices hasta la remodelación de tus datos.
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Tutorial seleccionar columnas con Python

Utiliza Python Pandas y selecciona columnas de los DataFrames. ¡Sigue nuestro tutorial con ejemplos de código y aprende hoy mismo distintas formas de seleccionar tus datos!
DataCamp Team's photo

DataCamp Team

7 min

Tutorial

Tutorial de unión de DataFrames en pandas

En este tutorial, usted aprenderá varias maneras en las que múltiples DataFrames pueden ser fusionados en python usando la librería Pandas.
DataCamp Team's photo

DataCamp Team

13 min

Tutorial

Tutorial de pandas en Python: La guía definitiva para principiantes

¿Estás preparado para comenzar tu viaje de pandas? Aquí tienes una guía paso a paso sobre cómo empezar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Cómo dividir listas en Python: Ejemplos básicos y métodos avanzados

Aprende a dividir listas de Python con técnicas como el corte, las comprensiones de listas y las herramientas iterativas. Descubre cuándo utilizar cada método para un manejo óptimo de los datos.
Allan Ouko's photo

Allan Ouko

11 min

Tutorial

pandas read_csv() Tutorial: Importar datos

Importar datos es el primer paso de cualquier proyecto de ciencia de datos. Aprende por qué los científicos de datos actuales prefieren la función pandas read_csv() para hacerlo.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

Ver MásVer Más