Converter a coluna Pandas DataFrame em lista

Usama Imtiaz 13 setembro 2023
  1. Utilize o Método tolist() para Converter uma Coluna do DataFrame em uma Lista
  2. Utilize a Função list() para Converter uma Coluna do DataFrame em uma Lista
  3. Utilize a Propriedade .values para Converter uma Coluna do DataFrame em uma Lista
  4. Usando a Compreensão de Lista para Converter uma Coluna do DataFrame em uma Lista
  5. Conclusão
Converter a coluna Pandas DataFrame em lista

Ao trabalhar com DataFrames do Pandas em Python, muitas vezes você pode precisar converter uma coluna do seu DataFrame em uma lista em Python. Esse processo pode ser crucial para várias tarefas de manipulação e análise de dados. Felizmente, o Pandas fornece vários métodos para fazer isso, facilitando a extração dos dados necessários em formato de lista.

Neste artigo, vamos explorar diferentes métodos para converter uma coluna de um DataFrame do Pandas em uma lista em Python. Demonstraremos esses métodos usando um DataFrame de exemplo que contém informações sobre nomes, datas de nascimento (DOB) e salários.

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": ["1000", "12000", "36000", "15000", "12000"],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

Vamos explorar quatro métodos diferentes para realizar essa conversão: usando o método tolist(), a função list(), a propriedade .values e a compreensão de lista. Cada método tem suas vantagens, então vamos mergulhar em cada um.

Utilize o Método tolist() para Converter uma Coluna do DataFrame em uma Lista

Uma coluna no DataFrame do Pandas é uma Series do Pandas. Portanto, se precisarmos converter uma coluna em uma lista, podemos usar o método tolist() em uma Series. O tolist() converte a Series em um lista.

No código abaixo, df['DOB'] retorna a Series, ou a coluna, com o nome DOB do DataFrame.

O método tolist() converte a Series em uma lista.

import pandas as pd

df = pd.DataFrame(
    [
        ["James", "1/1/2014", "1000"],
        ["Michelina", "2/1/2014", "12000"],
        ["Marc", "3/1/2014", "36000"],
        ["Bob", "4/1/2014", "15000"],
        ["Halena", "4/1/2014", "12000"],
    ],
    columns=["Name", "DOB", "Salary"],
)

print("Pandas DataFrame:\n\n", df, "\n")

list_of_single_column = df["DOB"].tolist()

print(
    "the list of a single column from the dataframe\n",
    list_of_single_column,
    "\n",
    type(list_of_single_column),
)

Saída:

Pandas DataFrame:

         Name       DOB Salary
0      James  1/1/2014   1000
1  Michelina  2/1/2014  12000
2       Marc  3/1/2014  36000
3        Bob  4/1/2014  15000
4     Halena  4/1/2014  12000 

the list of a single column from the dataframe
 ['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014'] 
 <class 'list'>

Utilize a Função list() para Converter uma Coluna do DataFrame em uma Lista

Também podemos usar a função list() para converter uma coluna do DataFrame em uma lista, passando o DataFrame para a função list().

Usaremos os mesmos dados acima para demonstrar essa abordagem.

import pandas as pd

df = pd.DataFrame(
    [
        ["James", "1/1/2014", "1000"],
        ["Michelina", "2/1/2014", "12000"],
        ["Marc", "3/1/2014", "36000"],
        ["Bob", "4/1/2014", "15000"],
        ["Halena", "4/1/2014", "12000"],
    ],
    columns=["Name", "DOB", "Salary"],
)

print("Pandas DataFrame:\n\n", df, "\n")

list_of_single_column = list(df["DOB"])

print(
    "the list of a single column from the dataframe\n",
    list_of_single_column,
    "\n",
    type(list_of_single_column),
)

Saída:

Pandas DataFrame:

         Name       DOB Salary
0      James  1/1/2014   1000
1  Michelina  2/1/2014  12000
2       Marc  3/1/2014  36000
3        Bob  4/1/2014  15000
4     Halena  4/1/2014  12000 

the list of a single column from the dataframe
 ['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014'] 
 <class 'list'>

Utilize a Propriedade .values para Converter uma Coluna do DataFrame em uma Lista

Outra maneira de realizar isso é usando a propriedade .values.

Vamos passar pelos passos de converter a coluna ‘Salary’ deste DataFrame em uma lista em Python usando a propriedade .values.

A propriedade .values de uma Series do Pandas retorna uma representação da matriz NumPy dos dados. Para convertê-la em uma lista em Python, você pode usar o método .tolist(). Veja como fazer:

salary_list = df["Salary"].values.tolist()

Aqui está o código completo:

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": ["1000", "12000", "36000", "15000", "12000"],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

# Convert the 'Salary' column to a list using .values
salary_list = df["Salary"].values.tolist()

print(salary_list)

Saída:

["1000", "12000", "36000", "15000", "12000"]

Após a execução deste código, a coluna Salary do DataFrame será convertida em uma lista do Python, que será armazenada na variável salary_list.

Usando a Compreensão de Lista para Converter uma Coluna do DataFrame em uma Lista

A compreensão de lista é uma maneira concisa e eficiente de criar listas em Python. Para converter uma coluna de um DataFrame do Pandas em uma lista do Python usando a compreensão de lista, você pode seguir o código abaixo.

# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]

Aqui está o código completo:

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": [1000, 12000, 36000, 15000, 12000],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]

print(salary_list)

Saída:

[1000, 12000, 36000, 15000, 12000]

Conclusão

Neste artigo, exploramos quatro métodos diferentes para converter uma coluna de um DataFrame do Pandas em uma lista do Python: usando o método tolist(), a função list(), a propriedade .values e a compreensão de lista. Cada método tem suas vantagens e pode ser escolhido com base no seu caso de uso e estilo de codificação específico.

Seja você preferir a simplicidade do método tolist(), a abordagem Pythonica padrão da função list(), a eficiência da propriedade .values ou a legibilidade da compreensão de lista, o Pandas oferece várias opções para ajudá-lo a converter perfeitamente as colunas do seu DataFrame em listas do Python.

Artigo relacionado - Pandas DataFrame Column

Artigo relacionado - Pandas DataFrame