qua*_*ine 8 python arrays numpy
我似乎在解决一个非常简单的问题上遇到了困难。我保存了一个 *.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)
Run Code Online (Sandbox Code Playgroud)
当我尝试读回数据时,我发现我的变量现在采用大小为 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)
Run Code Online (Sandbox Code Playgroud)
索引尝试:
network[0]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-44-297be643431d> in <module>()
----> 1 network[0]
IndexError: too many indices for array
Run Code Online (Sandbox Code Playgroud)
请指教。
索引数组时,您需要一个与长度维度匹配的元组。这是 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |