HOWTO · Python
Como converter uma lista em um DataFrame do Pandas em Python
Aprenda a converter uma lista em um DataFrame do Pandas em Python
Nesta página
Converta uma lista do Python em um DataFrame do Pandas com pd.DataFrame(my_list). Uma lista unidimensional se torna uma coluna com o índice inteiro padrão. Use o argumento columns para dar um nome à coluna, index para definir os rótulos das linhas ou uma lista de listas para criar várias colunas.
Converter uma lista em um DataFrame do Pandas em Python
Um DataFrame é uma tabela bidimensional com linhas e colunas rotuladas. Importe o Pandas, passe a lista ao seu construtor DataFrame e atribua o resultado a uma variável. Em um script, use print(df) para exibi-lo; em um notebook ou sessão interativa, basta avaliar df para mostrar a tabela.
Neste exemplo, cada nome fica na única coluna, rotulada como 0. Por padrão, o Pandas atribui às linhas rótulos que começam em 0. pd.DataFrame() é o construtor que cria a tabela; não é um método chamado na lista. Essa distinção é útil ao adaptar a chamada: passe os dados como primeiro argumento e, em seguida, use argumentos nomeados, como columns ou index, para definir a estrutura da tabela.
import pandas as pd
my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list)
print(df)
Armazenar a lista em uma coluna de um DataFrame do Pandas em Python
Ao criar o DataFrame, passe ao argumento columns uma lista com um único rótulo. Esse rótulo dá nome à coluna; ele não altera o índice das linhas. A quantidade de rótulos de coluna deve corresponder ao número de colunas dos dados de entrada.
Aqui, os valores mantêm a ordem original, e Names substitui o rótulo padrão da coluna, 0.
import pandas as pd
my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, columns=["Names"])
print(df)
Converter uma lista em um DataFrame com índice em Python
Use o argumento index para definir os rótulos das linhas e columns para definir os rótulos das colunas. Forneça um rótulo de índice para cada valor da lista, para que cada linha tenha o rótulo correspondente. Esses rótulos substituem o índice inteiro padrão; eles não se tornam outra coluna de dados. Por exemplo, o primeiro valor é identificado por i., o segundo por ii. e o terceiro por iii.. Escolha rótulos adequados aos seus registros, como datas ou identificadores de produtos.
import pandas as pd
my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(
my_list,
index=["i.", "ii.", "iii."],
columns=["Names"],
)
print(df)
Agrupar duas listas em um único DataFrame usando zip() em Python
A função zip() pareia valores de iteráveis de entrada pela posição. Passe os pares para pd.DataFrame() e forneça um rótulo de coluna para cada lista de entrada. O exemplo usa listas paralelas de nomes e alturas, portanto cada nome permanece na mesma linha que sua altura. É possível parear mais de duas listas passando todas elas a zip() e fornecendo os rótulos de coluna correspondentes.
zip() para assim que a lista de entrada mais curta se esgota. Se cada lista de origem deve fornecer um valor para todas as linhas, confira se elas têm o mesmo comprimento antes de criar o DataFrame.
import pandas as pd
name_list = ["Tom", "Mark", "Tony"]
height_list = [150, 151, 152]
rows = zip(name_list, height_list)
df = pd.DataFrame(rows, columns=["Name", "Height"])
print(df)
Converter uma lista multidimensional em um DataFrame do Pandas em Python
Para dados tabulares, represente cada linha como uma lista interna e passe a lista externa para pd.DataFrame(). Em columns, forneça um rótulo para cada valor de uma linha. Neste exemplo, cada lista interna contém um nome seguido de uma idade, formando uma tabela com duas colunas e três linhas.
Esse formato é adequado quando cada linha tem os mesmos campos na mesma ordem. Confira se os valores das linhas correspondem aos rótulos fornecidos; para registros com campos diferentes, primeiro normalize os dados em um formato tabular consistente.
import pandas as pd
info = [["Tom", 18], ["Mark", 25], ["Tony", 68]]
df = pd.DataFrame(info, columns=["Name", "Age"])
print(df)