Como converter o Python Dictionary em Pandas DataFrame
-
Método para converter o
dicionário
em PandasDataFame
-
Método para converter
keys
para serem ascolumns
e osvalues
para serem osrow
em PandasDataFrame
-
pandas.DataFrame().from_dict()
Método para converterdict
emDataFrame

Apresentaremos o método para converter o dicionário
Python para Pandas datafarme
, e opções como ter chaves
para serem as colunas
e os valores
para serem os valores de linha
. Poderíamos também converter o dicionário
aninhado para o DataFrame
.
Introduziremos também outra abordagem utilizando pandas.DataFrame.from_dict
, e encadearemos isto com qualquer método de renome
para definir tanto o índice quanto os nomes das colunas de uma só vez.
Método para converter o dicionário
em Pandas DataFame
Pandas DataFrame
construtor pd.DataFrame()
converte o dicionário em DataFrame
se os itens
do dicionário forem dados como argumento do construtor, mas não o dicionário em si.
# python 3.x
import pandas as pd
fruit_dict = {
3: 'apple',
2: 'banana',
6:'mango',
4:'apricot',
1:'kiwi',
8:'orange'}
print(pd.DataFrame(list(fruit_dict.items()),
columns=['Quantity', 'FruitName']))
As chaves
e valores
do dicionário são convertidas em duas colunas do DataFrame
com os nomes das colunas dados nas opções colunas
.
Quantity FruitName
0 3 apple
1 2 banana
2 6 mango
3 4 apricot
4 1 kiwi
5 8 orange
Método para converter keys
para serem as columns
e os values
para serem os row
em Pandas DataFrame
Podemos simplesmente colocar parênteses ao redor do dicionário e remover o nome da coluna do código acima desta forma:
import pandas as pd
fruit_dict = {
1: 'apple',
2: 'banana',
3:'mango',
4:'apricot',
5:'kiwi',
6:'orange'}
print(pd.DataFrame([fruit_dict]))
Resultado:
1 2 3 4 5 6
0 apple banana mango apricot kiwi orange
Vamos utilizar pandas compreensão do dicionário
com cat
para combinar todos os dicionários
e depois passar a lista para dar novos nomes de colunas
.
Considere o seguinte código,
import pandas as pd
data = {
'1':{
'apple':11,
'banana':18},
'2':{
'apple':16,
'banana':12}
}
df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index()
df.columns = ['dict_index', 'name','quantity']
print(df)
Resultado:
dict_index name quantity
0 1 apple 11
1 1 banana 18
2 2 apple 16
3 2 banana 12
pandas.DataFrame().from_dict()
Método para converter dict
em DataFrame
Utilizaremos from_dict
para converter dict
em DataFrame
, aqui definimos orient='index'
para utilizar chaves de dicionário como linhas e aplicamos rename()
método para mudar o nome da coluna.
Considere o seguinte código,
import pandas as pd
print(pd.DataFrame.from_dict({
'apple': 3,
'banana': 5,
'mango': 7,
'apricot': 1,
'kiwi': 8,
'orange': 3}, orient='index').rename(columns={0:'Qunatity'}))
Resultado:
Quantity
apple 3
banana 5
mango 7
apricot 1
kiwi 8
orange 3
Artigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum