Pular para o conteúdo principal

Dominando o método .explode() do pandas: guia completo

Aprenda tudo sobre o método .explode() do pandas: colunas únicas e múltiplas, como lidar com dados aninhados e armadilhas comuns — com exemplos práticos de Python.
Atualizado 17 de set. de 2026  · 5 min lido

Explorar com IA

ChatGPTClaudePerplexity

No universo da manipulação de dados com o pandas, o método .explode() é um recurso valioso quando trabalhamos com listas em DataFrames. Este tutorial é um manual para dominar o .explode(), desde o funcionamento básico até aplicações avançadas e erros comuns.

A resposta rápida: veja como o .explode() funciona

Se você quer ir direto ao ponto, leia apenas esta seção. O .explode() foi feito para expandir os elementos de uma coluna com valores em formato de lista em várias linhas, transformando cada item da lista em uma linha separada. Por exemplo, vamos usar o seguinte DataFrame df para ilustrar o processo:

ID

Interests

1

['Python', 'Data Science']

2

['Machine Learning', 'AI']

O método .explode() vai expandir os elementos da coluna Interests, assim:

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

ID

Interests

1

Python

1

Data Science

2

Machine Learning

2

AI

O que é o método .explode() do pandas?

.explode() simplifica o tratamento de dados aninhados, como listas ou tuplas, dentro de DataFrames do pandas. Ao converter cada elemento de uma estrutura semelhante a lista em uma linha separada, o .explode() facilita o acesso aos dados e os deixa prontos para análise.

Como o .explode() funciona?

A funcionalidade do .explode() é poderosa e direta, com foco na facilidade de uso e eficiência em tarefas de manipulação de dados.

  • Column: indica a coluna com entradas em formato de lista a serem “explodidas”.
  • ignore_index: quando definido como True, redefine o índice para inteiros sequenciais, ajudando a preservar a integridade do DataFrame após a explosão. O padrão é False.

Duas formas de usar o .explode() do pandas

Explodindo uma única coluna no pandas

O caso mais comum é explodir uma única coluna, expandindo cada entrada em formato de lista em linhas individuais. Na seção da resposta rápida, vimos exatamente isso. Vamos retomar o exemplo. Temos o DataFrame df, com IDs de pessoas e seus interesses de aprendizado. Como você pode ver, os interesses estão em listas.

ID

Interests

1

['Python', 'Data Science']

2

['Machine Learning', 'AI']

.explode() vai transformar os elementos da coluna Interests em linhas individuais, assim:

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

ID

Interests

1

Python

1

Data Science

2

Machine Learning

2

AI

Este método é especialmente útil para colunas com dados categóricos ou múltiplos atributos por observação.

Explodindo múltiplas colunas no pandas

Também é comum precisar explodir várias colunas no mesmo DataFrame. Isso é útil quando múltiplas colunas contêm estruturas tipo lista que precisam ser descompactadas simultaneamente. Vamos adicionar a coluna Tools ao df para ilustrar:

ID

Interests

Tools

1

['Python', 'Data Science']

['Pandas', 'NumPy']

2

['Machine Learning', 'AI']

['Scikit-learn', 'TensorFlow']

Para explodir múltiplas colunas, basta passar a lista de colunas desejadas:

# 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

Esse uso é especialmente útil quando você trabalha com várias colunas que contêm listas. Dito isso, existem algumas armadilhas ao usar o .explode(), que veremos a seguir.

Erros comuns ao usar o .explode() do pandas e como resolver

Explodir colunas duplicadas

Um erro frequente ao usar o .explode() é, sem querer, repetir a mesma coluna na lista de colunas a explodir. Reforce sempre: garanta que a lista de colunas é composta apenas por nomes únicos!

# Incorreto: explodindo colunas duplicadas
df.explode(['Interests','Tools','Interests'])

# Correto: explodindo colunas únicas
df.explode(['Interests','Tools'])

Explodir strings que parecem listas

Muitas vezes, algumas linhas do seu DataFrame podem ser strings que parecem listas. Tentar explodir uma coluna com strings no formato "['Python', 'AI']" não terá efeito, pois o .explode() espera objetos realmente semelhantes a listas, não strings que parecem listas. Veja um exemplo do problema e a solução. Imagine que df tenha os seguintes valores:

ID

Interests

1

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

2

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

Como você vê, a coluna Interests contém strings que parecem listas. Usar .explode() em Interests não mudaria nada, pois os valores são strings únicas. Para corrigir, converta os valores de Interests em listas de fato.

import ast

df['Interests'] = df['Interests'].apply(ast.literal_eval)
exploded_df = df.explode('Interests')
print(exploded_df) # Agora funciona

Comprimentos diferentes em múltiplas colunas

Ao trabalhar com DataFrames do pandas, é comum se deparar com linhas em que as estruturas tipo lista nas colunas escolhidas para explodir têm comprimentos diferentes. Essa discrepância pode gerar dados desalinhados ou incompletos após usar o .explode() em múltiplas colunas. Por exemplo, imagine que df seja assim:

ID

Interests

Tools

1

['Python', 'Data Science']

['Pandas']

2

['Machine Learning']

['Scikit-learn', 'TensorFlow']

Note que as colunas Interests e Tools têm listas com comprimentos diferentes. Usar .explode() nessas colunas como estão gerará erro, pois as colunas precisam ter o mesmo número de valores nas listas. Para corrigir, você pode preencher as listas com None usando uma função customizada, como abaixo:

​​# 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

Considerações finais

Em resumo, o .explode() é muito útil para descompactar elementos de listas em linhas de um DataFrame do pandas. Para continuar aprendendo pandas, confira estes recursos:


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel é educador de ciência de dados, palestrante e evangelista da DataCamp, onde lançou vários cursos e treinamentos ao vivo sobre análise de dados, aprendizado de máquina e engenharia de dados. Ele é apaixonado pela disseminação das habilidades e da alfabetização de dados nas organizações e pela interseção entre tecnologia e sociedade. Ele tem um mestrado em ciência de dados e análise de negócios. Em seu tempo livre, você pode encontrá-lo passeando com seu gato Louis.

Tópicos
Python

Comece sua jornada com pandas hoje mesmo!

Curso

Manipulação de dados com pandas

4 h
563.9K
Saiba como importar, tratar dados, calcular estatísticas e criar visualizações com o pandas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Tutorial de seleção de colunas em Python

Use o Python Pandas e selecione colunas de DataFrames. Siga nosso tutorial com exemplos de código e aprenda diferentes maneiras de selecionar seus dados hoje mesmo!
DataCamp Team's photo

DataCamp Team

7 min

data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Tutorial de junção de DataFrames no pandas

Neste tutorial, você aprenderá várias maneiras pelas quais vários DataFrames podem ser mesclados em python usando a biblioteca Pandas.
DataCamp Team's photo

DataCamp Team

13 min

Tutorial

Como dividir listas em Python: Exemplos básicos e métodos avançados

Aprenda a dividir listas Python com técnicas como slicing, compreensão de listas e itertools. Descubra quando usar cada método para um tratamento ideal dos dados.
Allan Ouko's photo

Allan Ouko

11 min

Tutorial

Método index() da lista Python explicado com exemplos

Aprenda a usar a função index() do Python pra achar a posição dos elementos nas listas.
Sejal Jaiswal's photo

Sejal Jaiswal

6 min

Ver MaisVer Mais