[英]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]]
也就是說,每個t
是map
的row
(第一維)。
您嘗試使用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.