For 循环 Xarray (NetCDF) - 如何将 for 循环的结果附加到现有数据集

问题描述 投票:0回答:0

对 python/编码非常陌生,并尝试通过 xarray 处理 NetCDF 数据。本质我正在尝试使用气候模型数据将未来预测与历史值进行比较,以获得雪的减少百分比('snw')以显示一系列地图上的预测趋势/损失。

到目前为止,我已经创建了一个循环遍历时间、纬度和经度维度,然后从历史雪值中减去预测的雪值。我创建了一小部分原始数据,每个数据只考虑一个时间片,并且只包括美国西部。

def get_diff_snw(hist_avg, proj_value):
    return proj_value - hist_avg

for i, time in enumerate(ds_ssp_subset['snw']):
    # For each time, iterate through the latitudes    
    for j, lat in enumerate(time):
        # For each latitude, iterate through the longitudes
        for k, lon in enumerate(lat):
            print(
                get_diff_snw(
                    ds_hr4_running_subset['snw'][i, j, k].values,
                    lon.values,
                )
            )

供参考:ssp是未来预测,hr4是历史数据集。

这列出了历史平均值和预测值之间的差异列表(我认为?):

1.5503063
3.0794563
-3.578083
-2.1282718
-1.0593466
-0.043488864
-0.10155213
-0.2542992
-0.63282454
-0.3104693
...

我想添加到历史数据集中,并确保这些值仍然与其各自的坐标相关联。我似乎无法弄清楚,感谢任何帮助!

python pandas netcdf python-xarray
© www.soinside.com 2019 - 2024. All rights reserved.