sta*_*ane 2 python arrays numpy boolean-operations masked-array
由于我在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])
Run Code Online (Sandbox Code Playgroud)
并打印如下:
In [24]: print(m_pt0)
[1 -- 3 0 4 7 6 5]
Run Code Online (Sandbox Code Playgroud)
我正在寻找m_pt0中的索引,其中m_pt0 = 0,我希望
np.where(0 == m_pt0)
Run Code Online (Sandbox Code Playgroud)
会返回:
(array([3]))
Run Code Online (Sandbox Code Playgroud)
但是,尽管戴了口罩(或因为?),我反而得到了
(array([1, 3]),)
Run Code Online (Sandbox Code Playgroud)
使用掩码的全部目的是避免访问“空白”的索引,因此如何使用where(或其他函数)仅检索未掩码且与我的布尔条件匹配的索引。
您需要使用该where()函数的masked变体,否则它将为masked数组返回错误或不需要的结果。其他功能也是如此polyfit()。
即:
In [2]: np.ma.where(0 == m_pt0)
Out[2]: (array([3]),)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2170 次 |
| 最近记录: |