首頁  >  文章  >  後端開發  >  如何序列化 Django 上下文變數的 NumPy 陣列?

如何序列化 Django 上下文變數的 NumPy 陣列?

DDD
DDD原創
2024-11-04 01:38:02524瀏覽

How to Serialize NumPy Arrays for Django Context Variables?

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 數組,請使用以下指令步驟:

  1. 讀取JSON 檔案:

    <code class="python">obj_text = codecs.open(file_path, 'r', encoding='utf-8').read()</code>
  2. 載入JSON 字串:

    <code class="python">b_new = json.loads(obj_text)</code>
  3. 將清單轉換回NumPy 陣列:

    <code class="python">a_new = np.array(b_new)</code>

透過以下步驟,您可以有效地序列化和反序列化NumPy 數組,以便在Django 應用程式中儲存和檢索資料。

以上是如何序列化 Django 上下文變數的 NumPy 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn