我有這個 json 檔案,其中包含一個點到另一個點之間的距離和旅行持續時間。例如,下面我有從倉庫到倉庫的距離,然后是倉庫到 A 的距離。再一次,從 A 到倉庫,然后是從 A 到 A。
json_data = '''
{
"depot": [
{
"destinationIndex": 0,
"originIndex": 0,
"totalWalkDuration": 0,
"travelDistance": 0,
"travelDuration": 0
},
{
"destinationIndex": 0,
"originIndex": 0,
"totalWalkDuration": 0,
"travelDistance": 39.025,
"travelDuration": 30.4167
}
],
"A": [
{
"destinationIndex": 0,
"originIndex": 0,
"totalWalkDuration": 0,
"travelDistance": 39.128,
"travelDuration": 31.9
},
{
"destinationIndex": 1,
"originIndex": 0,
"totalWalkDuration": 0,
"travelDistance": 0,
"travelDuration": 0
}
]
}
'''
我想要的是一個距離矩陣。由于我有 350 多個位置,因此我想遍歷檔案以創建一個距離矩陣,如下例所示:
| 0 | 39.025 |
| 39.128 | 0 |
如果有人可以幫助或就使用這些資料提供一些建議,那就太好了!如果你不能告訴我之前沒有太多處理過 json 資料......
謝謝
uj5u.com熱心網友回復:
IIUC 你的距離矩陣應該是對稱的。您可以json_normalize在字典值上使用:
import pandas as pd
import json
data = json.loads(json_data)
locs = data.keys()
df = pd.concat([pd.json_normalize(val)['travelDistance'] for val in data.values()], axis=1)
df.index = locs
df.columns = locs
print(df)
輸出:
depot A
depot 0.000 39.128
A 39.025 0.000
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/460584.html
上一篇:計算JSONB鍵陣列的加權平均值
