Xarray库关于插值的操作内容不多,但是很实用,需要安装scipy库。
首先我们还是创建一个DataArray:
da = xr.DataArray(np.sin(0.3 * np.arange(12).reshape(4, 3)),[('time', np.arange(4)),('lat', [30, 60, 90])])
print(da)
#
#array([[ 0. , 0.29552021, 0.56464247],
# [ 0.78332691, 0.93203909, 0.99749499],
# [ 0.97384763, 0.86320937, 0.67546318],
# [ 0.42737988, 0.14112001, -0.15774569]])
#Coordinates:
# * time (time) int64 0 1 2 3
# * lat (lat) int64 30 60 90
exp1
我们先对时间维插值,比如说这里有第0天,1天,2天和3天,我们想获取第1.5天的数据:
print(da.interp(time=1.5))
#
#array([0.87858727, 0.89762423, 0.83647908])
#Coordinates:
# * lat (lat) int64 30 60 90
# time float64 1.5
可以看出实际上是对第1天和第2天的数据取了平均.
如果要往外插,比如说得到第3.5天的数据,得到的结果全是np.nan
也可以通过datetime格式的字符串