用np.nan替换数字与数组不是整数

时间:2017-04-27 15:52:27

标签: numpy replace nan

当我尝试用np.nan替换数组中的数字时,我使用了如下函数:

X[X>9.] = np.nan

但是,我想与另一个数组进行比较,而不是数字。

例如:

A = [5.09901951, 4.84148737, 3.72021505, 4.28952212, 3.87814389, 3.7094474]
X = [7.54950976, 2.02074369, 1.26010752, 3.14476106, 8.53907194, 10.0547237]
X[X>A] = np.nan

它似乎不起作用。而且我也不想使用for循环,因为如果数组大小变大会导致麻烦。

任何想法或帮助都会非常感激。

艾萨克

1 个答案:

答案 0 :(得分:0)

根据评论@hpaulj: 如果您将列表更改为numpy数组:

import numpy as np
A = np.array([5.09901951, 4.84148737, 3.72021505, 4.28952212, 3.87814389, 3.7094474])
X = np.array([7.54950976, 2.02074369, 1.26010752, 3.14476106, 8.53907194, 10.0547237])
X[X>A] = np.nan

X将是:

array([        nan,  2.02074369,  1.26010752,  3.14476106,         nan,
               nan])