我正在處理一個具有嵌套欄位(陣列)的 JSON 檔案。我正在嘗試將其轉換為 Pandas 資料幀。
{
"_id": "2026",
"dataDate": 1537920000000,
"dataYear": 2018,
"groupId": "1378",
"HourConsumed": 19781.4,
"HourGenerated": 0,
"max": 4658.400000000001,
"maxGen": 0,
"maxTime": 1538001000000,
"avg": -206.05625,
"max": 0,
"maxGen": 0,
"maxTime": null,
"avgTemp": 0,
"me_Id": "2004506_3166155129",
"interval": 15,
"intervalMetaData": [
"whC",
"whG",
"max",
"maxGen",
"hC",
"hG",
"maxVar",
"maxGen",
"avgTemp",
"eventTime"
],
"intervalData": [
[
175.2,
0,
700.8,
0,
0,
0,
0,
0,
0,
1537920900000
],
[
192,
0,
768,
0,
0,
0,
0,
0,
0,
1537921800000
],
[
191.39999999999998,
0,
765.5999999999999,
0,
0,
0,
0,
0,
0,
1537922700000
]
]
}
我需要為里面的內容創建單獨的列intervalMetaData,然后用來自intervalData. 是否可以?
uj5u.com熱心網友回復:
你打賭這是可能的!就這么簡單:
df = pd.DataFrame(j['intervalData'], columns=j['intervalMetaData'])
uj5u.com熱心網友回復:
如果我理解正確,您只需通過匯入帶有熊貓的串列串列來正確設定列:
import pandas as pd
data = {
"_id": "2026",
"dataDate": 1537920000000,
"dataYear": 2018,
"groupId": "1378",
"HourConsumed": 19781.4,
"HourGenerated": 0,
"max": 4658.400000000001,
"maxGen": 0,
"maxTime": 1538001000000,
"avg": -206.05625,
"max": 0,
"maxGen": 0,
"maxTime": None,
"avgTemp": 0,
"me_Id": "2004506_3166155129",
"interval": 15,
"intervalMetaData": [
"whC",
"whG",
"max",
"maxGen",
"hC",
"hG",
"maxVar",
"maxGen",
"avgTemp",
"eventTime"
],
"intervalData": [
[
175.2,
0,
700.8,
0,
0,
0,
0,
0,
0,
1537920900000
],
[
192,
0,
768,
0,
0,
0,
0,
0,
0,
1537921800000
],
[
191.39999999999998,
0,
765.5999999999999,
0,
0,
0,
0,
0,
0,
1537922700000
]
]
}
df = pd.DataFrame(data["intervalData"], columns=data["intervalMetaData"])
print(df)
輸出:
whC whG max maxGen hC hG maxVar maxGen avgTemp eventTime
0 175.2 0 700.8 0 0 0 0 0 0 1537920900000
1 192.0 0 768.0 0 0 0 0 0 0 1537921800000
2 191.4 0 765.6 0 0 0 0 0 0 1537922700000
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/353680.html
下一篇:檢查資料框列是否嚴格增加
