NumPy 配列 JSON シリアル化エラー
NumPy 配列を Django コンテキスト変数として保存しようとすると、配列がは JSON シリアル化可能ではありません。
説明:
Web アプリケーションのデータ形式である JSON では、効率的に送信するにはデータが特定の構造である必要があります。一方、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>
これらの手順を使用すると、Django アプリケーションでデータを保存および取得するために NumPy 配列を効果的にシリアル化および逆シリアル化できます。
以上がDjango コンテキスト変数の NumPy 配列をシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。