ホームページ  >  記事  >  バックエンド開発  >  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 シリアル化可能ではありません。

説明:

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 配列に逆シリアル化して戻すには、次のコマンドを使用します。手順:

  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>

これらの手順を使用すると、Django アプリケーションでデータを保存および取得するために NumPy 配列を効果的にシリアル化および逆シリアル化できます。

以上がDjango コンテキスト変数の NumPy 配列をシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。