天天看點

python定義一個空數組_python – 在numpy數組中設定空值

如何基于條件使numpy數組中的某些值為空?

我不明白為什麼我最終得到0而不是null或空值不滿足條件… b是一個用0和1值填充的numpy數組,c是另一個完全填充的numpy數組.所有陣列都是71x71x166

a = np.empty(((71,71,166)))

d = np.empty(((71,71,166)))

for indexes, value in np.ndenumerate(b):

i,j,k = indexes

a[i,j,k] = np.where(b[i,j,k] == 1, c[i,j,k], d[i,j,k])

我想最終得到一個數組,該數組隻有滿足條件的值,并且在其他地方都是空的,但不改變它的形狀

要求澄清的全部澄清問題:

我從一個帶有形狀的浮動填充數組開始(71,71,166)

我根據應用于float數組的cutoff建立一個int數組,基本上建立了一些bin,大緻标出了數組中的10個區域,其間有0個值

我想要最終得到的是一個具有形狀(71,71,166)的數組,其具有特定陣列方向的平均值(假設垂直方向,如果您将3D數組視為3D立方體)某個“bin” …

是以我試圖循環周遊“bins”b == 1,b == 2等,在滿足條件的情況下對float進行采樣但在其他地方為null,這樣我就可以取平均值,然後在最後重新組合成一個數組循環….

不确定我是否讓自己明白了.我正在使用np.where并使用索引,因為當我嘗試執行此操作時我仍然會遇到錯誤,盡管它感覺非常低效.