gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:57 25 4
gpt4 key购买 nike

我似乎在解决一个非常简单的问题上遇到了困难。我保存了一个 *.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 数组的形式,我无法从中索引,因此无法取回我的 Network 对象并查看其属性(我的最终目标)。

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

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

索引尝试:

network[0]

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

IndexError: too many indices for array

请指教。

最佳答案

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

关于python - 无法从单项 numpy 数组中提取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com