迭代 numpy.ma 数组,忽略屏蔽值

问题描述 投票:0回答:1

我只想迭代

np.ma.ndarray
中未屏蔽的值。

具有以下内容:

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

我得到:

1
--
3

我想要得到以下信息:

1
3

看起来

np.nditer()
可能是可行的方法,但我没有找到任何可能指定这一点的 flags 。我该怎么做?谢谢!

python numpy iteration
1个回答
10
投票

您想使用

a.compressed()
。来自文档:

将所有非屏蔽数据作为一维数组返回。

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

给出:

1
3
© www.soinside.com 2019 - 2024. All rights reserved.