Converter lista em Pandas DataFrame em Python

Ankur Baral 30 janeiro 2023
  1. Converter a lista em um DataFrame do Pandas em Python
  2. Armazene a lista em uma coluna no Pandas DataFrame em Python
  3. Converter uma lista em um DataFrame com índice em Python
  4. Compacte duas listas em um único DataFrame usando zip() em Python
  5. Converter uma lista multidimensional em um DataFrame Pandas em Python
Converter lista em Pandas DataFrame em Python

Este artigo irá apresentar métodos para converter itens em uma lista em um DataFrame Pandas.

Converter a lista em um DataFrame do Pandas em Python

O quadro de dados, geralmente, é uma estrutura de dados rotulada bidimensional. Pandas é um pacote Python de código aberto muito útil para a ciência de dados.

Aqui, primeiro importaremos o pacote pandas. Definiremos o pacote pandas como pd neste programa em particular. Em seguida, criaremos uma lista my_list para armazenar os valores da lista, Tom, Mark e Tony, que nada mais são do que nomes aleatórios. Em seguida, atribuiremos pd.DataFrame(my_list) a uma variável df. O método DataFrame(my_list) pega os valores de my_list e cria um quadro de dados com eles. Na última linha do nosso programa, chamamos o quadro de dados impresso que armazenamos na variável df. Observe que também poderíamos ter escrito df em vez de print(df) para ver nosso quadro de dados.

Código de exemplo:

# python 3.x
import pandas as pd

my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list)
print(df)

Produção:

    0
0   Tom
1   Mark
2   Tony

Podemos ver que os itens fornecidos na lista agora estão em uma coluna na saída acima.

Armazene a lista em uma coluna no Pandas DataFrame em Python

Podemos converter uma lista para o DataFrame do pandas criando uma coluna no DataFrame e armazenando os dados convertidos na coluna.

Para converter uma lista em dados da coluna DataFrame do pandas, vamos criar uma lista my_list e dar alguns nomes aleatórios como valores para a lista. Nosso objetivo é garantir que os elementos da lista se tornem as entradas de uma coluna intitulada Names. Para isso, passaremos a variável my_list para pd.DataFrame() com columns = ['Names'] como abaixo. Em seguida, imprimimos a variável df e executamos nosso código para ver a saída.

Código de exemplo:

# python 3.x
import pandas as pd

my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, columns=["Names"])
print(df)

Produção:

    Names
0   Tom
1   Mark
2   Tony

Depois de colocar um atributo extra columns = ['Names'], vemos que os nomes em my_list foram como os valores da coluna Names no DataFrame.

Converter uma lista em um DataFrame com índice em Python

Também podemos indexar os itens da lista enquanto os convertemos em um DataFrame.

Vamos criar uma lista my_list. Nosso objetivo é garantir que os elementos da lista se tornem entradas de coluna intitulada Nomes com índices predefinidos por linha. Para isso, vamos criar uma lista index e preenchê-la com i, ii e iii. Podemos usar a lista como o segundo parâmetro em pd.DataFrame(). O primeiro e o terceiro parâmetros são my_list e columns =['Names']. Em seguida, imprimiremos a variável df onde a expressão que escrevemos está armazenada.

Código de exemplo:

# python 3.x
import pandas as pd

my_list = [" Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, index=["i.", "ii.", "iii."], columns=["Names"])
print(df)

Produção:

     Names
i.    Tom
ii.   Mark
iii.  Tony

Podemos ver que os valores dentro da lista índice substituíram os índices padrão do pandas. Podemos colocar qualquer valor dentro do índice e produzir resultados de acordo.

Compacte duas listas em um único DataFrame usando zip() em Python

A função zip() combina os valores de duas listas diferentes em uma, agrupando os valores das listas com o mesmo índice. Antes de criarmos um DataFrame, vamos ver como zip() funciona primeiro.

Código de exemplo:

# python 3.x
a = ["1", "2", "3"]
b = ["4", "5", "6"]
c = zip(a, b)
list1 = list(c)
print(list1)

Produção:

[('1', '4'), ('2', '5'), ('3', '6')]

Podemos ver que a função zip() nos ajudou a combinar as listas a e b com itens indexados semelhantes agrupados. Armazenamos o status compactado das listas a e b em c e, em seguida, criamos list1, armazenando a lista compactada c nele. Usaremos o zip() para criar um DataFrame do pandas no exemplo a seguir.

Iremos criar duas listas diferentes, name_list e height_list, e armazenar alguns nomes e alturas, respectivamente. Em seguida, compactamos name_list e height_list com zip(name_list, height_list) para criar um DataFrame do pandas.

Observe que também podemos indexar nossos dados simplesmente colocando outro atributo index = [ 'index1', 'index2', 'index3' ] onde os itens dentro da lista de índice podem ser qualquer coisa.

Código de exemplo:

# python 3.x
import pandas as pd

name_list = ["Tom", "Mark", "Tony"]
height_list = ["150", "151", "152"]
df = pd.DataFrame((zip(name_list, height_list)), columns=["Name", "Height"])
print(df)

Produção:

    Name    Height
0   Tom     150
1   Mark    151
2   Tony    152

Podemos ver que o DataFrame formado consiste em valores de name_list e height_list na ordem correta.

Também podemos usar essa técnica para compactar mais de duas listas.

Converter uma lista multidimensional em um DataFrame Pandas em Python

Podemos até converter a lista multidimensional em um DataFrame do pandas. Podemos definir os nomes das colunas para os itens da lista na lista multidimensional. Vamos demonstrar esse método com uma lista bidimensional.

Para converter uma lista multidimensional em um DataFrame do pandas, primeiro precisamos criar uma lista com várias listas dentro. Portanto, primeiro importaremos os pandas e, em seguida, criaremos uma lista info onde armazenaremos o nome e a idade de três indivíduos diferentes em três listas separadas. Em seguida, chamaremos pd.DataFrame() e processaremos a lista nela e especificaremos dois títulos de coluna, Name e Age para nossos dados.

Código de exemplo:

# python 3.x
import pandas as pd

info = [["Tom", 18], ["Mark", 25], ["Tony", 68]]
df = pd.DataFrame(info, columns=["Name", "Age"])
print(df)

Produção:

    Name    Age
0   Tom     18
1   Mark    25
2   Tony    68

Temos duas colunas como saída com os nomes e suas idades nas respectivas ordens. Podemos adicionar outros valores às listas individuais dentro de info e dar-lhes títulos de colunas para obter mais colunas em nosso DataFrame.

Artigo relacionado - Python List