2017-04-25 34 views
0

我嘗試在一個陣列中追加許多numpy的數組:如何在python中添加一些數組?

path ='C:\\Users\\user\\Traces' 
traces= os.listdir(path) 
tempTracesHW[HW].append([np.load(os.path.join(path, trace)) for trace in traces]) 

這段代碼的結果是:

[[], [[array([[ 0.01437869, 0.01506449, 0.01579909, ..., 0.04166172, 
     0.0417285 , 0.04172079]], dtype=float32),..........., array([[ 0.00418158, 0.00483142, 0.00547356, ..., -0.0032004 , 
     -0.00326461, -0.00333396]], dtype=float32), array([[-0.02872655, -0.02783527, -0.02693371, ..., 0.00331342, 
     0.00272522, 0.00211391]], dtype=float32)]], []] 

但是,我需要的是這樣的結構:

[array([ 0.06542969, 0.03808594, 0.07910156, ..., 0.06542969, 
     0.07910156, 0.10449219]), array([ 0.0625 , 0.0390625 , 0.07421875, ..., 0.14355469, 
     0.04296875, 0.06640625])] 

如何解決這個問題?

+0

我沒有看到'結果'和'你需要'之間的任何連接。 'result'是一個不同大小的列表,有些是空的,有些是未知大小的2d數組。 'need'看起來像是一個包含多個1d數組的列表。 ??? – hpaulj

回答

0

numpy的串連可能會感興趣:

https://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html

tempTracesHW[HW] = np.concatenate([tempTracesHW[HW], np.concatenate([np.load(os.path.join(path, trace)) for trace in traces])) 

什麼的。

+0

它給出了這個錯誤:所有的輸入數組必須具有相同的維數 – Guillaume

+0

什麼np.concatenate([np.load(os.path.join(path,trace))跟蹤中的跡線])給? – user3684792

相關問題