Python 使用区域掩码文件从NetCDF4文件中提取数据

Python 使用区域掩码文件从NetCDF4文件中提取数据,python,netcdf4,Python,Netcdf4,我正在处理多个NetCDF4文件,希望从中提取monthly\u rain值。这是我的密码: import numpy import netCDF4 with netCDF4.Dataset('abc.nc', 'r') as mask_dataset: mask_data = mask_dataset.variables['mask'][:] results = [] for year in range(2010, 2019): with netCDF4.Dataset(

我正在处理多个NetCDF4文件,希望从中提取
monthly\u rain
值。这是我的密码:

import numpy
import netCDF4

with netCDF4.Dataset('abc.nc', 'r') as mask_dataset:
    mask_data = mask_dataset.variables['mask'][:]

results = []

for year in range(2010, 2019):
    with netCDF4.Dataset('{:d}.monthly_rain.nc'.format(year), 'r') as dataset:
        data = dataset.variables['monthly_rain'][:]
        data.mask = mask_data.mask

        average = numpy.mean(data)

    results.append(average)

print(results)
上述代码的结果是:

[92.82600598372804, 67.01124693612452, 54.30168356893234, 39.58771623758809, 45.30353874205824, 39.017626997972684, 50.94861235658874, 44.55133832249074, 41.7971056907917]
这就是我想要的结果


但是,我想从文件中提取所有的
monthly\u rain
值,以便对数据集进行进一步检查。有什么方法可以让我这么做吗?

现在我可以回答。。。只需不计算循环中的平均值,而是直接在结果中附加(屏蔽)“数据”,然后进行任何额外的后处理。

代码中的许多行没有正确缩进。请更正。很抱歉,现在应该可以了,因为我刚刚修改了它。但是它没有返回值,我只能得到9个掩码数组列表,结果如下:mask=[[[True,True,True,…,True,True,True],[True,True,True,…,True,True,True],您是否使用了结果。追加(数据)?是的,在列表中我得到了10个大小为(12681841)的屏蔽数组。但我想从中获取属性值。例如,每月雨的值。我如何处理它?什么是“属性值”?与“数据”不同的东西?请使用ncinfo并显示“常规”netCDF4文件的结构。以及更正后的代码。