用NaN评估

时间:2013-03-26 13:19:01

标签: python numpy

我想在np.all()的帮助下将信号与参考信号进行比较。引用可以包含np.nan。在该NaN位置,信号是否满足比较条件并不重要。以下是示例代码。但是这段代码不起作用。 我可以比较for - 循环中的每个元素,但是有一种聪明的方法可以进行这种比较吗?

import numpy as np

reference = np.array([np.nan, 1])
signal = np.array([2, 2])

print np.all(reference < signal)

1 个答案:

答案 0 :(得分:2)

使用适当的切片将比较限制为非纳米值。您也可以使用np.finite代替~np.isnan

import numpy as np

reference = np.array([np.nan, 1])
signal = np.array([2, 2])
idx = ~np.isnan(reference)

print np.all(reference[idx] < signal[idx])