Converter lista em Pandas DataFrame em Python
- Converter a lista em um DataFrame do Pandas em Python
- Armazene a lista em uma coluna no Pandas DataFrame em Python
- Converter uma lista em um DataFrame com índice em Python
-
Compacte duas listas em um único DataFrame usando
zip()
em Python - Converter uma lista multidimensional em um DataFrame Pandas 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.