[英]Deleting masked elements in numpy array
我有一些包含掩碼元素的數組(來自Numpy.MaskedArray
),例如
data = [0,1,masked,3,masked,5,...]
掩模不遵循規則圖案的地方。
我想遍歷數組並簡單地刪除所有被屏蔽的元素以結束:
data = [0,1,3,5,...]
我嘗試了一個循環:
for i in xrange(len(data)):
if np.ma.is_masked(data[i]):
data.pop(i)
但是我得到了錯誤: local variable 'data' referenced before assignment
我是否必須創建一個新數組並添加未屏蔽的元素? 或者是否有MaskedArray
函數可以自動執行此操作? 我看過文檔,但對我來說並不明顯。
謝謝!
data.compressed()
是您正在尋找的功能
用掩碼按位反轉 ~
:
data = data[~data.mask]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.