无法从单项numpy数组中提取对象

时间:2017-08-16 17:59:25

标签: python arrays numpy

我似乎想要解决一个非常简单的问题。我已经保存了一个包含单个变量的* .npz文件 - 一个类的对象(我写的一个类)。

data

当我尝试重新读取数据时,我发现我的变量现在是一个大小为1的numpy数组,我无法索引,因此无法获取我的Network对象并查看其属性(我的最终目标)。

# Initialize network 
burstNetwork = Network(numChs,dt,UFRs,NBPs,BDs,UFRsByChan,varyFRbyChs,minChConstBurst,createChCorrelations)
if saveData:
    pd.np.savez((saveDir + "simulator.npz"), burstNetwork=burstNetwork)

索引尝试:

# Load network
simulator = np.load(simFilesDir + "simulator.npz")
network = simulator['burstNetwork']
network

Out[43]: array(<__main__.Network object at 0x000000000AEF0C18>, dtype=object)

请指教。

1 个答案:

答案 0 :(得分:1)

索引数组时,需要一个与长度匹配的元组。这是0d,因此元组必须是0长度()item方法也有效。

In [922]: arr = np.array(1, dtype=object)
In [923]: arr.shape
Out[923]: ()
In [924]: arr
Out[924]: array(1, dtype=object)
In [925]: arr.item()
Out[925]: 1
In [926]: arr[()]
Out[926]: 1