【问题标题】:Add nan buffer to xarray dataset将 nan 缓冲区添加到 xarray 数据集
【发布时间】:2023-01-07 00:37:30
【问题描述】:

我有一个 xarray 数据集,它将充当不同数据集的掩码。我想从掩码中的任何 nan 值创建一个缓冲区(具有可配置的距离)。我还没有看到任何在内部添加缓冲区的东西,而不是用填充值扩展数组大小。下面是一些可重现的代码来说明我的意思(我使用的数据集有 10,000 个 x/y 坐标):

import numpy as np
import xarray as xr

data = [[ 0.,  1.,  2.,  3., nan],
       [ 0.,  6.,  4., nan, nan],
       [ 4.,  3.,  6.,  4., nan],
       [ 1.,  0.,  3.,  4., nan]]
y = [0, 1, 2, 3]
x = [0, 1, 2, 3, 4]
test = xr.Dataset({'band': xr.DataArray(data, coords=[y, x], dims=['y', 'x'])})

我想创建一个数据集,如果我提供的距离为 1,则上面的内容将如下所示:

[[ 0.,  1.,  2.,  nan., nan],
[ 0.,  6.,  nan., nan, nan],
[ 4.,  3.,  6.,  nan., nan],
[ 1.,  0.,  3.,  nan., nan]])

理想情况下,可以设置可配置的缓冲距离。我试图通过对图像进行下采样然后对下采样图像进行上采样来做到这一点,但它非常缓慢并且很难正常工作所以我想看看我是否错过了更好的选择。

【问题讨论】:

    标签: python python-xarray resampling


    【解决方案1】:

    你正在寻找 Xarray 的pad method

    test.pad(x=1)
    

    【讨论】:

      猜你喜欢
      • 2016-12-14
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多