Buat DataFrame dari kamus
Oct 14 2020
Saya meminta data dari tabel dalam database dan setiap baris hadir sebagai kamus seperti ini:
{
"timestamp" : 1234657890,
"prices" : {
"AAA" : 111,
"BBB" : 222,
...
"ZZZ" : 999
}
}
Dari semua baris itu saya ingin membuat kerangka data seperti ini:
Timestamp AAA BBB ... ZZZ
1234657890 111 222 ... 999
1234567891 110 223 ... 997
...
1324657899 123 208 ... 1024
Jadi saya melakukan:
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)
Jadi saya bertanya-tanya apakah ada cara yang lebih pythonic untuk melakukan ini?
Jawaban
3 hjpotter92 Oct 14 2020 at 17:43
Anda rawData(yang seharusnya diberi nama idealnya raw_data, python menyarankan panduan gaya untuk memberi nama variabel dan fungsi di lower_snake_case) sudah dalam struktur daftar. Anda dapat memanipulasi ini di tempat, tanpa harus memproses seluruh dataset secara manual.
for row in raw_data:
row.update(row.pop("prices"))
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'