上采样 xarray DataArray 类似于 np.repeat()?

Upsampling xarray DataArray similar to np.repeat()?

我希望对大型二维 DataArray(下图)中的值进行上采样。是否有类似于 np.repeat() 的 xarray 工具可以应用于每个维度(x 和 y)?在下面的示例中,我想复制 x 和 y 中的每个数组条目。

import xarray as xr
import numpy as np

x = np.arange(3)
y = np.arange(3)
x_mesh,y_mesh = np.meshgrid(x, y)
arr = x_mesh*y_mesh
df = xr.DataArray(arr, coords={'x':x, 'y':y}, dims=['x','y'])

所需输入:

array([[0, 0, 0],
       [0, 1, 2],
       [0, 2, 4]])

期望的输出:

array([[0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 1, 1, 2, 2],
       [0, 0, 1, 1, 2, 2],
       [0, 0, 2, 2, 4, 4],
       [0, 0, 2, 2, 4, 4]])

我知道 xesmf 重网格化工具,但它们似乎比我想要的应用程序所需的复杂。

有一个简单的解决方案 np.kron

>>> arr
array([[0, 0, 0],
       [0, 1, 2],
       [0, 2, 4]])
>>> np.int_(np.kron(arr, np.ones((2,2))))
array([[0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0],
       [0, 0, 1, 1, 2, 2],
       [0, 0, 1, 1, 2, 2],
       [0, 0, 2, 2, 4, 4],
       [0, 0, 2, 2, 4, 4]])