Erstellen Sie einen DataFrame aus dem Wörterbuch
Oct 14 2020
Ich fordere Daten aus einer Tabelle in einer Datenbank an und jede Zeile wird als Wörterbuch wie dieses geliefert:
{
"timestamp" : 1234657890,
"prices" : {
"AAA" : 111,
"BBB" : 222,
...
"ZZZ" : 999
}
}
Aus all diesen Zeilen wollte ich einen Datenrahmen wie diesen erstellen:
Timestamp AAA BBB ... ZZZ
1234657890 111 222 ... 999
1234567891 110 223 ... 997
...
1324657899 123 208 ... 1024
So tat ich :
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)
Also habe ich mich gefragt, ob es einen pythonischeren Weg gibt, dies zu tun?
Antworten
3 hjpotter92 Oct 14 2020 at 17:43
Ihr rawData( raw_dataPython sollte idealerweise benannt werden , schlägt einen Styleguide zum Benennen von Variablen und Funktionen vor lower_snake_case) befindet sich bereits in einer Listenstruktur. Sie können dies an Ort und Stelle bearbeiten, ohne den gesamten Datensatz manuell verarbeiten zu müssen.
for row in raw_data:
row.update(row.pop("prices"))