NumPy数组不可JSON序列化

创建NumPy数组并将其另存为Django上下文变量后,加载网页时出现以下错误:

array([   0,  239,  479,  717,  952, 1192, 1432, 1667], dtype=int64) is not JSON serializable

这是什么意思?

回答:

我定期“ jsonify” np.arrays。尝试首先在数组上使用“ .tolist()”方法,如下所示:

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 same data, 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

为了“ unjsonify”数组使用:

obj_text = codecs.open(file_path, 'r', encoding='utf-8').read()

b_new = json.loads(obj_text)

a_new = np.array(b_new)

以上是 NumPy数组不可JSON序列化 的全部内容, 来源链接: utcz.com/qa/430585.html

回到顶部