Sözlükten DataFrame oluşturun

Oct 14 2020

Veritabanındaki bir tablodan veri talep ediyorum ve her satır şunun gibi bir sözlük olarak geliyor:

{
    "timestamp" : 1234657890,
    "prices" : {
                   "AAA" : 111,
                   "BBB" : 222,
                    ...
                   "ZZZ" : 999
               }
}

Tüm bu satırlardan şöyle bir veri çerçevesi oluşturmak istedim:

Timestamp    AAA    BBB    ...   ZZZ
1234657890   111    222    ...   999
1234567891   110    223    ...   997
   ...
1324657899   123    208    ...  1024

Ben de yaptım :

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)

Bu yüzden bunu yapmanın daha pitonik bir yolu olup olmadığını merak ediyordum.

Yanıtlar

3 hjpotter92 Oct 14 2020 at 17:43

Sizin rawData(ideal olarak adlandırılmalıdır raw_data, python değişkenleri ve içindeki fonksiyonları adlandırmak için bir stil kılavuzu önerir lower_snake_case) zaten bir liste yapısında. Tüm veri kümesini manuel olarak işlemeye gerek kalmadan bunu yerinde değiştirebilirsiniz.

for row in raw_data:
    row.update(row.pop("prices"))