【问题标题】:Ignoring NaN when interpolating grid in Python在 Python 中插值网格时忽略 NaN
【发布时间】:2016-06-03 19:43:30
【问题描述】:

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

【问题讨论】:

    标签: python scipy interpolation nan


    【解决方案1】:

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

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

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

    【讨论】:

    • 当然,但这不是问题。问题是在允许某些元素为 NaN 的网格上使用RectBivariateSpline。我不想过滤掉 NaN,我想保留它们而不让它们弄乱插值。
    • 你将以某种方式过滤它们。你想为这些结假设什么值?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-03-28
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 2019-07-24
      • 2018-06-22
      • 1970-01-01
      相关资源
      最近更新 更多