无法从singleitem numpy数组提取对象

2024-05-16 00:53:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎碰到了一个很简单的问题要解决。我保存了一个*.npz文件,其中包含一个变量——一个类Network的对象(我编写的类)。在

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

当我试图读回数据时,我发现我的变量现在是一个大小为1的numpy数组的形式,我无法从中建立索引,因此无法获取网络对象并查看其属性(我的最终目标)。在

^{pr2}$

索引尝试:

network[0]

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-44-297be643431d> in <module>()
----> 1 network[0]

IndexError: too many indices for array

请指教。在


Tags: 文件对象dtnetworknpzindexerrorbdsinitialize
1条回答
网友
1楼 · 发布于 2024-05-16 00:53:47

索引数组时,需要一个长度与维度匹配的元组。这是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

相关问题 更多 >