【问题标题】:Mask numpy array evaluating nan as True将 nan 评估为 True 的掩码 numpy 数组
【发布时间】:2018-07-13 01:22:40
【问题描述】:

考虑一个带有数据的numpy 数组:

aa = np.array([-4.793, -1.299, 0.453, np.nan, np.nan, 1.131, 0.684,  1.037])

我需要像这样创建一个面具:

mask = -4. < aa

计算结果为

array([False, True, True, False, False, True, True, True], dtype=bool)

关键是:我需要将 nan 值评估为 True

我正在寻求一个不涉及修改我的输入数组aa通用解决方案。

【问题讨论】:

    标签: python arrays numpy masking


    【解决方案1】:

    logic function 非常简单

    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]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多