NumPy 數組JSON 序列化錯誤
嘗試將NumPy 數組序列變量保存為Django 上下文變數時,錯誤訊息可能會指示該數組不可化變量JSON。
說明:
JSON 是一種 Web 應用程式的資料格式,它要求資料採用特定的結構才能高效傳輸。另一方面,NumPy 陣列本質上與 JSON 格式不相容,因此會出現錯誤。
解決方案:
解決此問題並成功序列化數組,在將其保存為上下文變數之前將其轉換為 JSON 友好的格式。 NumPy 陣列的「.tolist()」方法提供了一個簡單的解決方案:
<code class="python">import numpy as np a = np.arange(10).reshape(2,5) b = a.tolist() # Convert NumPy array to nested lists</code>
現在,變數 b 以與 JSON 序列化相容的格式包含相同的資料。您可以將其儲存為 Django 上下文變量,而不會遇到序列化錯誤。
附加說明:
要將JSON 字串反序列化回NumPy 數組,請使用以下指令步驟:
讀取JSON 檔案:
<code class="python">obj_text = codecs.open(file_path, 'r', encoding='utf-8').read()</code>
載入JSON 字串:
<code class="python">b_new = json.loads(obj_text)</code>
將清單轉換回NumPy 陣列:
<code class="python">a_new = np.array(b_new)</code>
透過以下步驟,您可以有效地序列化和反序列化NumPy 數組,以便在Django 應用程式中儲存和檢索資料。
以上是如何序列化 Django 上下文變數的 NumPy 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!