在Python中插入网格时忽略NaN

时间:2016-02-22 11:39:52

标签: python scipy interpolation nan

我有一个网格化的速度字段,我想在Python中进行插值。目前我使用scipy.interpolate' RectBivariateSpline执行此操作,但我希望能够通过将网格中的某些值设置为NaN来定义字段的边缘。然而,当我这样做时,它会扰乱整个网格的插值,从而有效地使NaN无处不在。显然这是scipy fitpack中的一个错误,那么解决这个问题的最佳方法是什么?我希望能够将NaN保持在网格中以便稍后处理边缘和越界,但我不希望它影响网格其余部分的插值。

2 个答案:

答案 0 :(得分:1)

所有正确实现浮点(包括python)的语言都允许您通过将数字与自身进行比较来测试NaN。

x不等于x当且仅当x是NaN。

您将能够使用它来相应地过滤您的数据集。

答案 1 :(得分:0)

样条拟合/插值是全局的,因此即使单个nan也可能弄乱整个网格。