簡體   English   中英

將一維數組重塑為蒙版二維數組

[英]Reshape a 1D array to a masked 2D array

好,所以我有這個2D數組:

print indgrid

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

然后,我給它加上一個面具:

print mask

[[False False  True False False]
 [False  True  True  True False]
 [ True  True  True  True  True]
 [False  True  True  True False]
 [False False  True False False]]


print indgrid[mask]

[9 9 7 4 2 8 3 8 4 6 2 6 7]

因此,這是從indgrid數組中取出的一維值數組。 然后,我想對這些值執行一些計算,然后在完成后,將從每個元素計算出的值放入與indgrid數組具有相同形狀的indgrid數組中,因此我將indgrid

[[ 0 0 f 0 0 ]
[ 0 f f f 0 ]
[ f f f f f ]
[ 0 f f f 0]
[ 0 0 f 0 0 ]]

其中f代表我計算出的浮點數。 最好的方法是什么? 謝謝。

原諒可怕的變量名:

f_values = some_function_of(indgrid[mask])
result = np.zeros(indgrid.shape)
result[mask] = f_values

暫無
暫無

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

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