簡體   English   中英

刪除numpy數組中的掩碼元素

[英]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.

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