Tạo DataFrame từ từ điển
Oct 14 2020
Tôi yêu cầu dữ liệu từ một bảng trong cơ sở dữ liệu và mỗi dòng đi kèm như một từ điển như sau:
{
"timestamp" : 1234657890,
"prices" : {
"AAA" : 111,
"BBB" : 222,
...
"ZZZ" : 999
}
}
Từ tất cả những dòng đó, tôi muốn tạo một khung dữ liệu như thế này:
Timestamp AAA BBB ... ZZZ
1234657890 111 222 ... 999
1234567891 110 223 ... 997
...
1324657899 123 208 ... 1024
Tôi cũng vậy :
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)
Vì vậy, tôi đã tự hỏi liệu có cách nào khác tốt hơn để làm điều này không?
Trả lời
3 hjpotter92 Oct 14 2020 at 17:43
Của bạn rawData(nên được đặt tên lý tưởng raw_data, python gợi ý một hướng dẫn kiểu để đặt tên cho các biến và hàm trong lower_snake_case) đã có trong cấu trúc danh sách. Bạn có thể thao tác điều này tại chỗ mà không cần phải xử lý toàn bộ tập dữ liệu theo cách thủ công.
for row in raw_data:
row.update(row.pop("prices"))