NumPy 配列をシリアル化する JSON
Web ページの読み込み中に「配列が JSON シリアル化可能ではありません」というエラーが発生した場合、NumPy がDjango コンテキスト変数の配列は JSON 形式に変換できません。 JSON (JavaScript Object Notation) はデータ交換に使用される一般的なデータ形式であり、データが特定の構造である必要があります。一方、NumPy 配列は、JSON に直接シリアル化できないより複雑な構造を持っています。
この問題を解決するには、NumPy 配列で ".tolist()" メソッドを使用できます。このメソッドは、配列をネストされたリストに変換し、JSON にシリアル化できるようにします。以下に例を示します:
<code class="python">import numpy as np import codecs, json a = np.arange(10).reshape(2, 5) # a 2 by 5 array b = a.tolist() # nested lists with the same data and indices file_path = "/path.json" ## your path variable json.dump(b, codecs.open(file_path, 'w', encoding='utf-8'), separators=(',', ':'), sort_keys=True, indent=4) ### this saves the array in .json format</code>
配列を「unjsonify」するには、次のコードを使用できます:
<code class="python">obj_text = codecs.open(file_path, 'r', encoding='utf-8').read() b_new = json.loads(obj_text) a_new = np.array(b_new)</code>
以上がPython で NumPy 配列を JSON にシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。