Gab*_*iel 4 python arrays numpy masking
考虑一个numpy包含数据的数组:
aa = np.array([-4.793, -1.299, 0.453, np.nan, np.nan, 1.131, 0.684, 1.037])
Run Code Online (Sandbox Code Playgroud)
我需要像这样创建一个面具:
mask = -4. < aa
Run Code Online (Sandbox Code Playgroud)
其评估为
array([False, True, True, False, False, True, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
这里有一个问题:我需要nan评估为True.
我正在寻找一个不涉及修改我的输入数组的通用解决方案aa。
用逻辑函数很简单
import numpy as np
aa = np.array([-4.793, -1.299, 0.453, np.nan, np.nan, 1.131, 0.684, 1.037])
mask = np.logical_or(-4 < aa, np.isnan(aa))
print mask
# [False True True True True True True True]
Run Code Online (Sandbox Code Playgroud)