Pandas para Dicionário

Pandas Para Dicionario



“Em Python, uma estrutura de dados chamada dicionário é usada para armazenar informações como pares chave-valor. Os objetos de dicionário são otimizados para extrair dados/valores quando a chave ou chaves são conhecidas. Tenha em mente que os dicionários podem incluir chaves duplicadas. Para encontrar valores com eficiência usando o índice relacionado, podemos converter uma série de pandas ou dataframe com um índice relevante em um objeto de dicionário com pares de valores-chave “índice: valor”. Para realizar esta tarefa, o método “to_dict()” pode ser usado. Esta função é uma função interna encontrada na classe Series do módulo pandas. Um dataframe é convertido em um dicionário de dados tipo lista python de séries usando o método pandas.to_dict(), dependendo do valor especificado do parâmetro orient.”

Como converter pandas em um dicionário Python?

Existem vários métodos para converter pandas em um dicionário. No entanto, para transformar um dataframe do Pandas em um dicionário Python, usaremos o método to_dict() no Pandas. Podemos orientar os pares chave-valor do dicionário retornado de várias maneiras usando a função to_dict(). A sintaxe da função é a seguinte:







Sintaxe



pandas.to_dict ( leste = “ditado”, em = )



Parâmetros

orientar: O tipo de dados para converter colunas (série em) é especificado pelo valor da string (“dict”, “list”, “records”, “index”, “series”, “split”). Por exemplo, a palavra-chave “list” daria um dicionário python de objetos de lista com as chaves “Column name” e “List” (série convertida) como saída.





em: class, pode ser passado como uma instância ou uma classe real. Por exemplo, uma instância de classe pode ser passada no caso de um dict padrão. O valor padrão do parâmetro é dict.

Tipo de retorno: Dicionário convertido de um dataframe ou série.



Exemplo # 01: Convertendo o Dataframe do Pandas em um Dicionário

Usando a tupla de listas na função pd.DataFrame(), criaremos um dataframe básico com algumas colunas e linhas para depois convertê-lo em um dicionário python.


Criamos nosso dataframe passando a lista dentro da função pd.DataFrame(). No dataframe acima, temos três colunas “empresa”, “vendas” e “receita”. Na coluna empresa, armazenamos os nomes de empresas aleatórias como(“A&B”, “Max_tech”, “XT”, “MJ”, “Quanto”, “Mini_X”, “Zomo”, “AU”, “HL” , “ZMX”, “Earny”), a coluna “vendas” representa as vendas de cada empresa como (“217”, “200”, “199”, “150”, “210”, “216”, “185 ”, “189”, “202”, “159”, “205”) e a coluna “receita” armazena os valores que representam a receita de cada empresa em relação às respectivas vendas (340000   320000  300000 270000  315000  335000  250000     255000   301000   24400  305000). Agora vamos converter nosso dataframe “df” em um dicionário python.


Ao aplicar o método to_dict() ao dataframe df, convertemos um dataframe pandas em um dicionário.

Exemplo # 02: convertendo o dataframe do Pandas criado a partir de um arquivo CSV em um dicionário

No exemplo nº 1, criamos um dataframe usando tuplas dentro da lista. Agora vamos criar um dataframe com a ajuda de um arquivo CSV, e então vamos convertê-lo em um dicionário usando a função to_dict().


Para ler um arquivo como um dataframe, usamos a função pd.read_csv(). No dataframe acima, temos duas colunas (Nome e Marcas) e dezessete linhas (de 0 a 16). Agora vamos usar o método to_dict().


A função converteu nosso dataframe “df” em um dicionário python.

Exemplo # 03: Converter o Dataframe do Pandas para o Dicionário contendo as Listas de Valores

Nos exemplos anteriores, convertemos os pandas em um dicionário python contendo vários dicionários. Ao converter um dataframe em um objeto de dicionário, os rótulos das colunas devem servir como chaves do dicionário e todos os dados ou valores das colunas devem ser adicionados ao dicionário resultante como uma lista de valores para cada chave.


Criamos o dataframe com três colunas “nome”, “país” e “idade”. Na coluna “nome”, armazenamos os valores dos dados (“Anna”, “Marty”, “Carl”, “Mary”, “Cleb”, “Ali”, “Alexa”, “Becky”, “Ryan”) . Enquanto as outras colunas país e idade são valores fortes como (“EUA”, “Inglaterra”, “EUA”, “França”, “Rússia”, “Rússia”, “França”, “Inglaterra”, “EUA”) e ( 34, 32, 30, 27, 31, 33, 35, 25, 30) respectivamente. Criaremos um dicionário contendo as listas usando o parâmetro “list” dentro do método to_dict().


Usando o parâmetro list como um argumento dentro da função to_list(), geramos um dicionário contendo várias listas.

Exemplo # 03: Converter o Dataframe do Pandas para o Dicionário Contendo a Série de Valores

Quando um DataFrame precisa ser transformado em um dicionário, o nome da coluna serve como as chaves do dicionário e o índice da linha e os dados na coluna como um valor para as chaves correspondentes no dicionário.


Criamos o dataframe necessário usando o método pd.DataFrame(). No dataframe recém-criado, temos duas colunas. A coluna de nome armazena os valores de dados como uma string (“Kim”, “Morris”, “Casper”, “Milli”, “Dave”, “Will”, “Billy”), enquanto as colunas de marcas consistem em dados numéricos como ( 8, 9, 6, 7, 10, 7, 8). Usaremos o parâmetro “series” como uma string dentro da função to_dict().

Exemplo # 04: Converter o Dataframe do Pandas para o Dicionário sem Índice e Cabeçalho

O parâmetro “split” da função to_dict() pode ser usado para extrair dados de um DataFrame sem os cabeçalhos das colunas ou quando precisamos remover o cabeçalho e o índice da linha dos dados. Rótulos de coluna, índice de linha e dados reais são divididos em três componentes usando este parâmetro. Vamos criar um dataframe, para que possamos dividi-lo em três partes enquanto o convertemos no dicionário.


Criamos duas colunas com rótulos “nome” e “idade” contendo valores (“Dave”, “Morris”, “Billy”, “Milli”, “Kim”, “Will”, “Casper”) e (19, 19 , 25, 21, 19, 21, 23), respectivamente. Vamos convertê-los em dicionários python.


Usando a chave “data”, podemos recuperar os dados do dicionário resultante sem um índice ou cabeçalho.

Exemplo # 05: Converter o Dataframe do Pandas para o Dicionário por Linha e Índice de Linha

O parâmetro “record” pode ser usado dentro da função to_dict() para armazenar dados de cada linha do dataframe em vários objetos de dicionário distintos dentro de uma lista ou quando os dados de linha são necessários. Uma lista contendo objetos de dicionário será retornada. Um dicionário com um rótulo de coluna como chave e dados de coluna como valor para cada linha.


Criamos um dataframe com as colunas “nome” e “salário”. A coluna “nome” contém os valores dos dados (“Leo”, “Haris”, “Wanda”, “Mike”, “Kelly”, “Adam”, “Jack”) e a coluna salário armazena os valores (12000, 12500 , 14.000, 11.000, 12.000, 13.000, 12.500). Agora vamos criar uma lista com vários dicionários python contendo dados de cada linha.


O parâmetro index também pode ser usado para converter os dados de cada linha de um dataframe para um dicionário. Uma lista contendo itens de dicionário será retornada. Cada linha gera um dicionário. Onde o índice da linha será a chave e o valor será o dicionário de dados e o rótulo da coluna.

Conclusão

Neste tutorial, discutimos como podemos converter os objetos dataframe ou pandas em um dicionário python. Vimos a sintaxe da função to_dict() para entender os parâmetros desta função e como você pode modificar a saída da função especificando a função com diferentes parâmetros. Nos exemplos deste tutorial, usamos o método to_dict(), uma função de pandas embutida, para alterar os objetos pandas para o dicionário python.