[英]How to create a pandas dataframe from a json file with multiple arrays
我正在嘗試從我的 Apple 健康數據的 json 文件創建一個 pandas dataframe。
我的 json 文件如下所示:
{
"data": {
"workouts": [],
"metrics": [
{
"name": "active_energy",
"units": "kcal",
"data": [
{
"qty": 213.881,
"date": "2022-04-12 00:00:00 -0600"
}
]
},
{
"name": "apple_exercise_time",
"units": "min",
"data": [
{
"date": "2022-04-12 00:00:00 -0600",
"qty": 6
}
]
},
{
"name": "sleep_analysis",
"units": "min",
"data": []
}
]
}
}
在此數據中,有一個名為workouts
的空數組和另一個名為metrics
的數組。 我想從此文件中獲取metrics
數組並將其轉換為 pandas dataframe,如下所示:
日期 | 名稱 | 數量 | 單位 |
---|---|---|---|
2022-04-12 | 活躍能量 | 213.881 | 大卡 |
2022-04-12 | apple_excersise_time | 6個 | 分鍾 |
這是使用explode
構造函數、分解和join
的一種方法:
tmp = pd.DataFrame(my_data['data']['metrics']).explode('data')
s = tmp['data'].dropna()
out = tmp.drop(columns='data').join(pd.DataFrame(s.tolist(), index=s.index))
Output:
name units qty date
0 active_energy kcal 213.881 2022-04-12 00:00:00 -0600
1 apple_exercise_time min 6.000 2022-04-12 00:00:00 -0600
2 sleep_analysis min NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.