簡體   English   中英

使用for循環從3D矩陣調用對象

[英]Calling Object from 3D Matrix with a for loop

我有一個帶有x和y坐標的地圖數組,每個(x,y)坐標都與一個數字有關。 我收集了一堆尺寸相同的地圖,並將它們組織成3D矩陣。

現在,我想一次一次調用x,y坐標中的所有數字。

我以為會

    for t in Map_Collection:
        for x, y in Map_Collection[:,:,t]
            print Map_Collection[x,y] 
            #hoping it would give a large list of single numbers    

這並沒有給我帶來多個錯誤,我也無法找出原因。 但是我認為我的整個邏輯可能已經不對了。

為了明確起見,我希望能夠找到每個時間戳的地圖每個坐標的每個數字,並將其用於我已經擁有的單獨函數中。

請幫忙。

讓我們開始簡單:

 map=np.arange(2*3*4).reshape(2,3,4)
 for t in map:
     print t
     print

產生

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

[[12 13 14 15]
 [16 17 18 19]
 [20 21 22 23]]

也就是說,每個tmaprow (第一維)。

您嘗試使用t作為最后一個索引。 為此,您需要生成一個數字范圍,例如[0,1,2...]

for i in range(map.shape[-1]):
    for j in range(map.shape[1]):
        for k in range(map.shape[0]):
            print map[k,j,i]

將在map打印所有條目。 它不是很漂亮,但卻為您提供了一個起點。 您可能需要重新排列迭代器。

這是一種使用“行”逐步處理簡單條目的方法:

for t in map:
    for x in t:
        for y in x:
            print y

arange生成它們的順序給出值(以及將它們存儲在map的順序)。

暫無
暫無

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

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