2017-08-16 4 views
1

私は非常に簡単な問題を解決する可能性が高いと思われる壁に当たっているようです。私は単一の変数を含む* .npzファイルを保存しました。これはNetworkクラスのオブジェクトです。単一項目numpy配列からオブジェクトを抽出することができません

# 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の配列の形で、今あることを見つけ、私のネットワークオブジェクトを取得することができませんその属性(私の最終目標)を確認してください。

# 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 

してくださいアドバイス。

答えて

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 
関連する問題