我想用一系列的numpy数组创建一个Xarray DataArray,其坐标如下:年度时间序列数据(比方说在一个均匀的1500X1500矩阵上的温度)。
('时间', '长度', '纬度')
我使用的原始('原始')时间序列数据被存储为单独的文件,文件名表示时间序列中的每一年(也就是说,数据文件本身没有提供时间信息,只是在名称中,temp2000.xxx,temp2001.xxx,等等)。我将这些单独的数据文件导入单独的numpy数组中,这些数组有一个空间维度(对应上面的纬度/纬度),但除了我指定的变量名称外没有时间维度。
我想知道如何将所有这些numpy数组合并成一个多维xarray DataArray,其中包括numpy数组的lat/lon和由时间变量(取自文件名)定义的时间。
这可能是很直接的,但我想不明白。
temp2000 = np.random.rand(1500, 1500)
xll = -20.0
xur = 55.0
yll = -35.0
yur = 40.0
cellsize = 0.1
lon_tup = np.arange(xll, xur, cellsize) + (cellsize / 2)
lat_tup = np.arange(yll, yur, cellsize)
lat_tup = lat_tup[::-1] + (cellsize / 2)
time2 = pd.date_range("2000-01-01", freq="Y", periods=21)
ds = xr.DataArray(
coords=[time2, lat_tup, lon_tup], dims=["time", "lat", "lon"])
ds["Temperature_2000"] = (["time", "lat", "lon"], temp2000)
DataArray创建得很好,但显然numpy数组不能被添加,因为它缺乏 "时间 "维度。我可以通过一个单独的步骤强制添加时间维度吗?例子只是一个时间步骤(2000年),为了说明问题,用假的数据。