簡體   English   中英

如何重塑2D陣列?

[英]How to reshape 2D arrays?

我想重塑四個2D數組:A,B,C和D(為了最小化功能,我在“大數組”之前拆分了...這些數組是最小化的分析結果)按特定順序排列:

AB

光盤

我嘗試使用np.reshape或vectorize然后進行連接,但是無法獲得此順序,如您在下面的圖片中所見,所有內容都是混合的。 我應該得到均勻的結果

在此處輸入圖片說明

感謝您的回答,通過這種方式效果很好!

而且我必須將其應用於大量的子數組,因此我想自動化數組的重塑,如下例所示(4個數組的情況)。 如您所見,我嘗試使用循環,但它不起作用,也許通過這種方式可能不是很快...

test_reshape = np.empty([20,20])


test_reshape[0:10,0:10] = frametemperature[0,:,:]
test_reshape[0:10,10:10*2.] = frametemperature[1,:,:]

test_reshape[10:10*2.,0:10] = frametemperature[2,:,:]
test_reshape[10:10*2.,10:10*2.] = frametemperature[3,:,:]



for i in range(frametemperature.shape[0]/2):
    for j in range(frametemperature.shape[0]/2):
        for k in range(frametemperature.shape[0]): 
            test_reshape[i*10:10*(i+1),j*10:10*(j+1)] = frametemperature[k,:,:]

因此,您有4個2d陣列要合並回一個2d陣列。

1) 創建一個空的2d數組將其存儲在

import numpy as np
blank = np.empty([4,4])

2)根據其位置分配數組,而不是串聯

A = np.ones([2,2])
B = np.ones([2,2]) * 2
C = np.ones([2,2]) * 3
D = np.ones([2,2]) * 4
blank[0:2,0:2] = a
blank[0:2,2:4] = b
blank[2:4,0:2] = c
blank[2:4,2:4] = d
blank

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM