我有兩個陣列如下:
a=np.vstack([np.loadtxt(path, dtype='float') for path in glob.iglob(r'E:/PostDoc/720/*.txt')])
b=np.vstack([np.loadtxt(path, dtype='float') for path in glob.iglob(r'E:/PostDoc/1080/*.txt')])
的a和b是兩個陣列具有大小(640,6)
現在我定義一個3D陣列如下:
c = [[[0 for col in range(6)]for row in range(len(psnr_bitrate_1080))] for x in range(2)]
我想將 a 和 b 放入 c 中,為此,我使用以下代碼:
c[:][:][0]=a
c[:][:][1]=b
但它什么也不做,并且中的所有值c仍然為零,并且不會c用aand替換中的值b。你知道是什么問題嗎?中的行和列c是串列a,b而是陣列。我試圖做一個三維陣列的價值觀a和b。我不知道為什么它不能正確地做。請告訴我我該怎么做。謝謝。
uj5u.com熱心網友回復:
如果要“堆疊”兩個二維陣列,那么最直觀的方法是使用dstack:
c = np.dstack((a, b))
這樣你之前甚至不需要創建任何空陣列。
但是如果你想“沿著另一個軸”堆疊你的兩個源陣列(正如我從你的評論中看到的),運行例如:
c2 = np.swapaxes(c, 1, 2)
然后c2[:,0,:]將回傳您的第一個源陣列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/368756.html
