Pandas para o dicionário

Pandas para o dicionário

No Python, uma estrutura de dados chamada dicionário é usada para armazenar informações como pares de valor-chave. Objetos de dicionário são otimizados para extrair dados/valores quando a chave ou as chaves são conhecidas. Para encontrar valores com eficiência usando o índice relacionado, podemos converter uma série Pandas ou DataFrame com um índice relevante em um objeto de dicionário com pares de valor de chave "Index: Valor". Para realizar esta tarefa, o método "to_dict ()" pode ser usado. Esta função é uma função embutida encontrada na classe da série do módulo pandas.

Um DataFrame é convertido em um dicionário de dados do tipo Python List, usando os pandas.Método to_dict (), dependendo do valor especificado do parâmetro Orient.”

Usaremos o método to_dict () em pandas. Podemos orientar os pares de valor-chave do dicionário retornado de várias maneiras usando a função to_dict (). A sintaxe da função é a seguinte:

Sintaxe:

Pandas.Dataframe_object.to_dict (Orient = "Dict", em =)

Parâmetros:

    1. orientar: Qual Datatype para converter colunas (séries em) é especificado pelo valor da string ("Dict", "List", "Records", "Index", "Series", "Split"). Por exemplo, a palavra -chave "Lista" daria a um dicionário python de objetos de lista com as teclas "Nome da coluna" e "Lista" (série convertida) como saída.
    2. em: A classe pode ser passada como uma instância ou classe real. Por exemplo, uma instância de classe pode ser passada no caso de um ditado padrão. O valor padrão do parâmetro é ditado.

Tipo de retorno:

Dicionário convertido de um DataFrame ou série.

Dados:

Em todos os exemplos, usaremos o seguinte quadro de dados chamado "Comentários" que mantêm 2 linhas e 4 colunas. Aqui os rótulos da coluna são - ['id', 'nome', 'status', 'taxa'].

Importar pandas
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Exiba o DataFrame - Comentários
Impressão (comentários)

Saída:

Taxa de status do nome da identidade
0 23 Sravan Pass 1000
1 21 Sravan Fail 400

Exemplo 1: to_dict () sem parâmetros

Converteremos as observações DataFrame em um dicionário sem passar nenhum parâmetros para o método to_dict ().

Importar pandas
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Converter para o dicionário
Impressão (Comentários.to_dict ())

Saída:

'id': 0: 23, 1: 21, 'nome': 0: 'sravan', 1: 'sravan', 'status': 0: 'pass', 1: 'falha' , 'Fee': 0: 1000, 1: 400

Explicação

O DataFrame é convertido em um dicionário.

Aqui, as colunas no quadro de dados originais foram convertidas como chaves em um dicionário e cada coluna armazenará dois valores novamente em um formato de dicionário. As chaves para esses valores começam de 0.

Exemplo 2: to_dict () com 'série'

Converteremos as observações DataFrame em um dicionário em formato de série, passando o parâmetro 'Série' para o método to_dict ().

Formatar:

Importar pandas
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Converter em dicionário com série de valores
Impressão (Comentários.to_dict ('série'))

Saída:

'id': 0 23
1 21
Nome: ID, Dtype: Int64, 'Nome': 0 Sravan
1 Sravan
Nome: Nome, Dtype: Objeto, 'Status': 0 Pass
1 falha
Nome: Status, dtype: objeto, 'taxa': 0 1000
1 400
Nome: Taxa, Dtype: Int64

Explicação

O DataFrame é convertido em um dicionário com formato 'série'.

Aqui, as colunas no quadro de dados originais foram convertidas como chaves em um dicionário e cada coluna armazenará linhas junto com o tipo de dados da coluna. O tipo de dados da coluna 'ID' é INT64 e outras duas colunas são 'objeto'.

Exemplo 3: to_dict () com 'divisão'

Se você deseja separar os rótulos da linha, os rótulos da coluna e os valores no dicionário convertido, poderá usar o parâmetro 'dividido'. Aqui, a chave 'Index' armazenará uma lista de etiquetas de índice. A chave 'Colunas' manterá uma lista de nomes e dados de colunas é uma lista aninhada que armazena cada valores de linha em uma lista separada por uma vírgula.

Formatar:

Importar pandas
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Converta em dicionário sem índice e cabeçalho
Impressão (Comentários.to_dict ('split'))

Saída:

'index': [0, 1], 'colunas': ['id', 'nome', 'status', 'taxa'], 'dados': [[23, 'sravan', 'passa', 1000 ], [21, 'Sravan', 'Fail', 400]]

Explicação

Podemos ver que dois índices foram armazenados em uma lista como um valor para a chave - 'índice'. Da mesma forma, os nomes das colunas também são armazenados em uma lista como um valor para a chave - 'colunas' e cada linha é armazenada como uma lista em uma lista aninhada para os 'dados'.

Exemplo 4: to_dict () com 'registro'

Se você converter seu quadro de dados em um dicionário com cada linha como um dicionário em uma lista, poderá usar o parâmetro de registro no método to_dict (). Aqui, cada linha é colocada em um dicionário, de modo que a chave seja o nome e o valor da coluna é o valor real no quadro de dados de pandas. Todas as linhas foram armazenadas em uma lista.

Formatar:

Importar pandas
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Converter em dicionário por registro
Impressão (Comentários.to_dict ('registro'))

Saída:

['id': 23, 'nome': 'sravan', 'status': 'passa', 'taxa': 1000, 'id': 21, 'nome': 'sravan', 'status': 'Fail', 'Fee': 400]

Exemplo 5: to_dict () com 'índice'

Aqui, cada linha é colocada em um dicionário como um valor para a chave começa de 0. Todas as linhas foram armazenadas novamente em um dicionário.

Formatar:

Importar pandas
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Converta em dicionário com índice
Impressão (Comentários.to_dict ('index'))

Saída:

[0: 'id': 23, 'nome': 'sravan', 'status': 'passa', 'taxa': 1000, 1: 'id': 21, 'nome': 'sravan' , 'Status': 'Fail', 'Fee': 400

Exemplo 6: OrderedDict ()

Vamos utilizar o parâmetro 'para' que levará Ordenddict, que converte o quadro de dados de pandas em um dicionário ordenado.

Importar pandas
De Coleções Importar *
# Crie o DataFrame usando listas
Observações = pandas.DataFrame ([[23, 'Sravan', 'Pass', 1000],
[21, 'Sravan', 'Fail', 400],
], colunas = ['id', 'nome', 'status', 'taxa']))
# Converta para ordenardict
Impressão (Comentários.to_dict (em = ordereddict))

Saída:

OrdedDict ([('ID', OrdeDDict ([(0, 23), (1, 21))), ('Nome', OrderedDict ([(0, 'Sravan'), (1, 'Sravan']]] )), ('status', ordenddict ([(0, 'pass'), (1, 'falha'))), ('taxa', ordenddict ([(0, 1000), (1, 400)] )))

Conclusão

Discutimos como podemos converter os objetos DataFrame ou Pandas em um dicionário de 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 de pandas para o dicionário de Python.