【发布时间】:2017-05-04 00:33:01
【问题描述】:
感谢我在 stackoverflow 上获得的一些帮助,我正在使用掩码数组,但我遇到了对掩码数组进行 np.where 评估的问题。
我的掩码数组是:
m_pt0 = np.ma.masked_array([1, 2, 3, 0, 4, 7, 6, 5],
mask=[False, True, False, False,
False, False, False, False])
然后打印如下:
In [24]: print(m_pt0)
[1 -- 3 0 4 7 6 5]
我正在寻找 m_pt0 中 m_pt0 = 0 的索引,我希望这样
np.where(0 == m_pt0)
会返回:
(array([3]))
然而,尽管有面具(或因为?),我反而得到了
(array([1, 3]),)
使用掩码的全部目的是避免访问“空白”索引,那么我如何使用 where(或其他函数)仅检索未掩码并匹配我的布尔标准的索引。
【问题讨论】:
-
您是否尝试过
ma.where()来自numpy.ma子模块?它会产生不同的结果吗? -
请出示您的完整代码。在我整理的示例中,一切都按预期工作。
-
[1 -- 3 0 4 7 6 5]不是有效的 numpy 对象。你指的是什么实物? -
@Kasramvd 那里,我为他们修好了。
-
@blubberdiblub 与我使用的语法相同,很抱歉造成混淆。
标签: python arrays numpy boolean-operations masked-array