У меня есть большая папка с файлами netCDF (.nc), каждый из которых имеет похожее имя. Файлы данных содержат переменные времени, долготы, широты и ежемесячных осадков. Цель состоит в том, чтобы получить среднемесячное количество осадков за X лет для каждого месяца. В итоге у меня будет 12 значений, представляющих среднемесячное количество осадков за X лет для каждой широты и долготы. Каждый файл находится в одном и том же месте на протяжении многих лет. Каждый файл начинается с того же имени и заканчивается «date.sub.nc», например:
'data1.somthing.somthing1.avg_2d_Ind_Nx.200109.SUB.nc'
'data1.somthing.somthing1.avg_2d_Ind_Nx.200509.SUB.nc'
'data2.somthing.somthing1.avg_2d_Ind_Nx.201104.SUB.nc'
'data2.somthing.somthing1.avg_2d_Ind_Nx.201004.SUB.nc'
'data2.somthing.somthing1.avg_2d_Ind_Nx.201003.SUB.nc'
'data2.somthing.somthing1.avg_2d_Ind_Nx.201103.SUB.nc'
'data1.somthing.somthing1.avg_2d_Ind_Nx.201203.SUB.nc'
Концовка - YearMonth.SUB.nc. Пока что у меня есть:
array=[]
f = nc.MFDataset('data*.nc')
precp = f.variables['prectot']
time = f.variables['time']
array = f.variables['time','longitude','latitude','prectot']
Я получаю KeyError: ('время', 'долгота', 'широта', 'пректот'). Есть ли способ объединить все эти данные, чтобы я мог ими управлять?
f = nc.MFDataset...
. Другими словами, массивf.variables['prectot'][:]
уже является трехмерным массивом с размерами (время, широта, долгота), содержащим значенияprectot
для каждого (время, широта, долгота). - person Spencer Hill   schedule 10.03.2015f.variables
- это Dict, и для любого Dict вы можете получить доступ только к одному из его значений за раз, то естьf.variables['time']
илиf.variables['longitude']
, а неf.variables['time', 'longitude']
. Но, как было сказано в моем предыдущем комментарии, все, что вам нужно, этоf.variables['prectot']
(при условии, что я правильно вас понимаю). - person Spencer Hill   schedule 10.03.2015