Skip to content

Como converter DataFrame do Pandas em Lista?

Updated on

Como cientista de dados, você pode se deparar com situações em que precisa converter um DataFrame do Pandas em uma lista. Felizmente, isso é bastante fácil de fazer usando a função tolist(). Neste artigo, explicaremos como converter um DataFrame em uma lista usando esse método. Também abordaremos como converter uma coluna em uma lista, como criar uma lista aninhada e forneceremos alguns exemplos rápidos.

Quer criar rapidamente visualizações de dados em Python?

PyGWalker é um projeto Python de código aberto que pode ajudar a acelerar o fluxo de trabalho de análise e visualização de dados diretamente dentro de ambientes baseados em Jupyter Notebook.

PyGWalker (opens in a new tab) transforma seu DataFrame do Pandas (ou DataFrame do Polars) em uma interface de usuário visual onde você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Você pode executar o PyGWalker agora mesmo com esses notebooks online:

E não se esqueça de nos dar um ⭐️ no GitHub!

Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Dê um ⭐️ no PyGWalker no GitHub (opens in a new tab)
Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)

Convertendo um DataFrame em uma Lista

A função tolist() é um método integrado no Pandas que converte um DataFrame em uma lista. Você simplesmente chama essa função no seu DataFrame e ela retornará uma lista.

import pandas as pd
 
# criar um DataFrame de exemplo
df = pd.DataFrame({'números':[1, 2, 3], 'letras':['a', 'b', 'c']})
 
# converter DataFrame em lista
list_from_df = df.values.tolist()
print(list_from_df)

Este código irá gerar a saída:

[[1, 'a'], [2, 'b'], [3, 'c']]

Como você pode ver, a função tolist() retorna uma lista de listas, onde cada lista interna corresponde a uma linha no DataFrame. Os valores são ordenados por coluna e cada valor é do tipo que o Pandas infere dos valores na coluna.

Convertendo uma coluna em uma lista

Também há situações em que você deseja apenas converter uma coluna específica de um DataFrame em uma lista. Veja como fazer isso:

import pandas as pd
 
# cria um DataFrame de exemplo
df = pd.DataFrame({'numeros': [1, 2, 3], 'letras': ['a', 'b', 'c']})
 
# converte a coluna 'numeros' em uma lista
lista_da_coluna = df['numeros'].tolist()
print(lista_da_coluna)

Este código irá produzir a seguinte saída:

[1, 2, 3]

Como você pode ver, a função tolist() é usada em uma coluna específica e retorna uma lista apenas com os valores dessa coluna.

Criando uma lista aninhada

Em algumas situações, você pode precisar criar uma lista aninhada a partir de um DataFrame. Por exemplo, você pode querer uma lista de tuplas para cada linha, em vez de uma lista de listas. Veja como fazer isso:

import pandas as pd
 
# cria um DataFrame de exemplo
df = pd.DataFrame({'numeros': [1, 2, 3], 'letras': ['a', 'b', 'c']})
 
# cria uma lista aninhada
lista_aninhada = [tuple(x) for x in df.to_records(index=False)]
print(lista_aninhada)

Este código irá produzir a seguinte saída:

[(1, 'a'), (2, 'b'), (3, 'c')]

Como você pode ver, usamos uma compreensão de lista para criar uma lista de tuplas a partir do DataFrame. Isso pode ser útil se você precisar passar seus dados para uma função que espera uma determinada estrutura de dados.

Exemplos rápidos

Aqui estão alguns exemplos rápidos de como converter um DataFrame em uma lista:

import pandas as pd
 
# cria um DataFrame de exemplo
df = pd.DataFrame({'numbers': [1, 2, 3], 'letters': ['a', 'b', 'c']})
 
# converter DataFrame em lista (método 1)
list_from_df1 = df.values.tolist()
 
# converter DataFrame em lista (método 2)
list_from_df2 = [list(x) for x in df.values]
 
# converter coluna 'numbers' em lista
list_from_column = df['numbers'].tolist()
 
# criar uma lista aninhada
nested_list = [tuple(x) for x in df.to_records(index=False)]

No primeiro exemplo, usamos a função tolist() para converter o DataFrame em uma lista de listas.

No segundo exemplo, usamos uma lista de compreensão para alcançar o mesmo resultado.

No terceiro exemplo, usamos a função tolist() em uma coluna específica para convertê-la em uma lista.

E no quarto exemplo, usamos uma lista de compreensão para criar uma lista aninhada de tuplas.

Conclusão

Converter um DataFrame Pandas em uma lista é uma tarefa comum em ciência de dados. Felizmente, também é bastante simples usando a função tolist(). Se você precisa converter o DataFrame inteiro em uma lista, uma coluna específica em uma lista ou criar uma lista aninhada, essa função vai te ajudar. Com os exemplos fornecidos neste artigo, você será capaz de realizar essa tarefa rapidamente e facilmente em seus próprios projetos.