0
我想從磁盤讀取非常大的二進制文件(GB +),併爲進一步處理做一次重塑。數據結構如下:有F幀,每幀由長度爲N的B塊組成,而N爲數字。我用np.fromfile讀取數據並獲得一維np.array。我想要以他們的形狀(F * N,B)重塑數據,以便我可以輕鬆地在塊上操作。 我有一個辦法,我想要做什麼 - 但它使用一個for循環,並建立一個新的數組(所以不是很有效):Numpy:3D到2D maxtrix沿着一個軸平展順序重塑
import numpy as np
F,B,N= 2,2,2
Data3D = np.arange(F*B*N).reshape(F,B,N)
Data2D = np.zeros(F*B*N).reshape(F*N,B)
for i in np.arange(B):
Data2D[:,i] = Data3D[:,i,:].ravel()
我不實現扁平順序(np.ravel( )保持秩序)與直接重塑轉型,但我想有一個有效的/基本的numpy方法。
正是我在找什麼!謝謝! – tomatopete