如在回答将具有None值的Python列表转换为带有nan值的numpy数组中所示,如果我们强制dtype=float,则可以轻松地从具有None值的列表初始化遮罩numpy数组。这些浮点值将被转换为nan,我们只需执行以下操作:
ma.masked_invalid(np.array(a, dtype=float), copy=False)
然而,对于像int这样的数据类型,这种方法是行不通的:
ma.masked_invalid(np.array(a, dtype=int), copy=False)
由于不存在 int nan,中间的 np.array 不会创建 None 值。
在基于 Python 整数列表初始化掩码数组并包含 None 值的情况下,最有效的方法是什么,以使这些 None 值成为遮罩?