Heim  >  Artikel  >  Backend-Entwicklung  >  Wie serialisiere ich NumPy-Arrays in JSON in Python?

Wie serialisiere ich NumPy-Arrays in JSON in Python?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 14:18:03727Durchsuche

How to Serialize NumPy Arrays to JSON in Python?

JSON Serialisierung von NumPy-Arrays

Wenn beim Laden der Webseite der Fehler „Array ist nicht JSON-serialisierbar“ auftritt, bedeutet dies, dass NumPy Das Array in der Django-Kontextvariablen kann nicht in ein JSON-Format konvertiert werden. JSON (JavaScript Object Notation) ist ein gängiges Datenformat für den Datenaustausch und erfordert, dass Daten in einer bestimmten Struktur vorliegen. NumPy-Arrays hingegen haben eine komplexere Struktur, die nicht direkt in JSON serialisiert werden kann.

Um dieses Problem zu beheben, können Sie die Methode „.tolist()“ für das NumPy-Array verwenden. Diese Methode wandelt das Array in eine verschachtelte Liste um, die dann in JSON serialisiert werden kann. Hier ist ein Beispiel:

<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>

Um das Array zu „entjsonifizieren“, können Sie den folgenden Code verwenden:

<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>

Das obige ist der detaillierte Inhalt vonWie serialisiere ich NumPy-Arrays in JSON in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn