JSON으로 numpy.ndarray 또는 중첩 목록 구성을 저장하십시오.
class NumpyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.ndarray):
return obj.tolist()
return json.JSONEncoder.default(self, obj)
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)
json_dump = json.dumps({'a': a, 'aa': [2, (2, 3, 4), a], 'bb': [2]}, cls=NumpyEncoder)
print(json_dump)
출력합니다 :
(2, 3)
{"a": [[1, 2, 3], [4, 5, 6]], "aa": [2, [2, 3, 4], [[1, 2, 3], [4, 5, 6]]], "bb": [2]}
JSON에서 복원하려면
json_load = json.loads(json_dump)
a_restored = np.asarray(json_load["a"])
print(a_restored)
print(a_restored.shape)
출력합니다 :
[[1 2 3]
[4 5 6]]
(2, 3)
json
모듈을 사용하여 numpy 배열을 덤프하려고 합니다. 그러나 처리 방법을 아는numpy.ndarray
유형은 아닙니다json
. 자신의 시리얼 라이저list(your_array)
를 작성하거나 json을 작성하는 모든 것에 전달해야 합니다.