NumPy 배열 JSON 직렬화 오류
NumPy 배열을 Django 컨텍스트 변수로 저장하려고 하면 오류 메시지가 배열이 JSON은 직렬화 가능하지 않습니다.
설명:
웹 애플리케이션용 데이터 형식인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!