1. 程式人生 > >numpy中的savez()同時儲存陣列、字串、字典資料

numpy中的savez()同時儲存陣列、字串、字典資料

python使用numpy中的savez()儲存非陣列資料到本地。

報錯:

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

看下面的程式碼例項:

import numpy as np


# 簡單的陣列儲存
arr = np.array([[1, 2], [3, 4]])
np.save('/Users/lilong/Desktop/mm.npy',arr)
arr_load=
np.load('/Users/lilong/Desktop/mm.npy') print(arr_load,'\n\n',arr_load[0]) # 非結構化資料儲存 str_ = 'abc' arr_ = np.array([[1, 2], [3, 4]]) dict_ = {'a' : 1, 'b': 2} np.savez('/Users/lilong/Desktop/nn.npz', st= str_, ar = arr_, dic= dict_) data = np.load('/Users/lilong/Desktop/nn.npz') print('....\n',data['st'],'\n'
,data['st'][()]) print('....\n',data['ar'],'....\n',data['ar'][0],'\n\n',data['ar'][()][0]) print('....\n',data['dic'],'\n\n',data['dic'][()]) #print('....\n',data['dic']['a']) # 報錯 print('....\n',data['dic'][()]['a'])

執行結果:

[[1 2]
 [3 4]] 

 [1 2]
....
 abc 
 abc
....
 [[1 2]
 [3 4]] ....
 [1 2
] [1 2] .... {'a': 1, 'b': 2} {'a': 1, 'b': 2} .... 1