สร้าง DataFrame จากพจนานุกรม

Oct 14 2020

ฉันขอข้อมูลจากตารางในฐานข้อมูลและแต่ละบรรทัดมาพร้อมกับพจนานุกรมเช่นนี้:

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

จากบรรทัดทั้งหมดนั้นฉันต้องการสร้าง dataframe ดังนี้:

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

ดังนั้นฉันจึง:

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)

ดังนั้นฉันจึงสงสัยว่ามีวิธีไพ ธ อนิกมากกว่านี้หรือไม่?

คำตอบ

3 hjpotter92 Oct 14 2020 at 17:43

ของคุณrawData(ซึ่งควรตั้งชื่อตามอุดมคติraw_datapython แนะนำสไตล์ไกด์ในการตั้งชื่อตัวแปรและฟังก์ชันในlower_snake_case) อยู่ในโครงสร้างรายการแล้ว คุณสามารถจัดการกับสิ่งนี้ได้โดยไม่ต้องดำเนินการกับชุดข้อมูลทั้งหมดด้วยตนเอง

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