如果我有一個 MaskedArray,其掩碼中包含所有 False 值,我想將其折疊為單個布林值 False 值。例如:
>>> import numpy.ma as npma
>>> ma = npma.MaskedArray([1,2,3], mask=[False, False, False])
>>> ma
masked_array(data=[1, 2, 3],
mask=[False, False, False],
fill_value=999999)
>>> ma.mask = npma.nomask
>>> ma
masked_array(data=[1, 2, 3],
mask=[False, False, False],
fill_value=999999)
>>> mas.mask = False
>>> ma
masked_array(data=[1, 2, 3],
mask=[False, False, False],
fill_value=999999)
無論我嘗試過什么,我都無法讓一個已經創建的 MaskedArray 回到只有一個 False 值而不是一個 False 值陣列。我發現的唯一解決方法是從現有的 MaskedArray 的資料屬性創建一個新的 MaskedArray,并省略掩碼引數。請注意 mask 現在如何只是 False,這就是我想要的。
>>> ma = npma.MaskedArray(ma.data)
>>> ma
masked_array(data=[1, 2, 3],
mask=False,
fill_value=999999)
有沒有辦法將掩碼屬性設定為 False?
uj5u.com熱心網友回復:
m.shrink_mask()設定掩碼后可以呼叫:
>>> m
masked_array(data=[1, 2, 3],
mask=False,
fill_value=999999)
>>> m.mask = False
masked_array(data=[1, 2, 3],
mask=[False, False, False],
fill_value=999999)
>>> m.shrink_mask() # <-------------- Here
>>> m
masked_array(data=[1, 2, 3],
mask=False,
fill_value=999999)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/389394.html
