亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NumPy數組不是JSON可序列化的

NumPy數組不是JSON可序列化的

森林海 2019-08-26 11:17:30
NumPy數組不是JSON可序列化的創建NumPy數組并將其保存為Django上下文變量后,加載網頁時收到以下錯誤:array([   0,  239,  479,  717,  952, 1192, 1432, 1667], dtype=int64) is not JSON serializable這是什么意思?
查看完整描述

3 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

我經?!癹sonify”np.arrays。首先嘗試在數組上使用“.tolist()”方法,如下所示:

import numpy as npimport codecs, json 

a = np.arange(10).reshape(2,5) # a 2 by 5 arrayb = a.tolist() # nested lists with same data, indicesfile_path = "/path.json" ## your path variablejson.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)


查看完整回答
反對 回復 2019-08-26
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

一些其他numpy編碼器似乎有點過于冗長。

檢查對象是否來自模塊numpy,如果是,則ndarray.tolist用于a ndarray.item用于任何其他numpy特定類型。

使用json.dumps defaultkwarg:

default應該是為無法以其他方式序列化的對象調用的函數。

import numpy as npdef default(obj):
    if type(obj).__module__ == np.__name__:
        if isinstance(obj, np.ndarray):
            return obj.tolist()
        else:
            return obj.item()
    raise TypeError('Unknown type:', type(obj))dumped = json.dumps(data, default=default)


查看完整回答
反對 回復 2019-08-26
  • 3 回答
  • 0 關注
  • 6442 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號