Criar DataFrame do dicionário
Oct 14 2020
Eu solicito dados de uma tabela em um banco de dados e cada linha vem como um dicionário como este:
{
"timestamp" : 1234657890,
"prices" : {
"AAA" : 111,
"BBB" : 222,
...
"ZZZ" : 999
}
}
De todas essas linhas, eu queria criar um dataframe como este:
Timestamp AAA BBB ... ZZZ
1234657890 111 222 ... 999
1234567891 110 223 ... 997
...
1324657899 123 208 ... 1024
Então eu fiz :
rawData = database_request()
listPrices = []
for row in rawData
tmp = {'timestamp': row['timestamp']}
tmp.update({name : price for name,price in row['prices'].items()})
listPrices.append(tmp)
df = pd.DataFrame(listePrices)
Então, eu queria saber se há uma maneira mais python de fazer isso?
Respostas
3 hjpotter92 Oct 14 2020 at 17:43
Seu rawData(que deveria ter um nome ideal raw_data, python sugere um guia de estilo para nomear variáveis e funções lower_snake_case) já está em uma estrutura de lista. Você pode manipular isso no local, sem ter que processar todo o conjunto de dados manualmente.
for row in raw_data:
row.update(row.pop("prices"))
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?