迭代numpy.ma数组,忽略掩码值

rya*_*lon 5 python iteration numpy

我想迭代一个中没有掩码的值np.ma.ndarray.

具有以下内容:

import numpy as np
a = np.ma.array([1, 2, 3], mask = [0, 1, 0])
for i in a:
    print i
Run Code Online (Sandbox Code Playgroud)

我明白了:

1
--
3
Run Code Online (Sandbox Code Playgroud)

我想得到以下内容:

1
3
Run Code Online (Sandbox Code Playgroud)

似乎np.nditer()可能是要走的路,但我找不到任何可能指定此标志的标志.我怎么能这样做?谢谢!

tmd*_*son 5

你想用 a.compressed()

import numpy as np
a = np.ma.array([1, 2, 3], mask = [0, 1, 0])
for i in a.compressed():
    print i
Run Code Online (Sandbox Code Playgroud)

这使:

1
3
Run Code Online (Sandbox Code Playgroud)