基于另一个变量的python子集netCDF

2024-05-13 07:09:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个netCDF文件,我想根据netCDF文件中的另一个变量替换一些数据。文件在这里可用:https://umd.box.com/s/lrb12vl7bxbqpv2lt0c27t8m0ps0nm0e 其结构如下:

  dimensions:
    lat = 720;
    time = 3;
    lon = 1440;
  variables:
    float cntry_codes(lat=720, lon=1440);
      :_FillValue = 0.0f; // float

float data(time=3, lat=720, lon=1440);
  :_FillValue = NaNf; // float
  :units = "%";

int time(time=3);

float longitude(lon=1440);

float latitude(lat=720);

我想将网格单元中的“data”值(其中cntry_codes值为840)替换为新值0.8。我试着这样做:

^{pr2}$

然而,这是行不通的。有更好的解决办法吗?在


Tags: 文件数据httpscomboxdatatimenetcdf
1条回答
网友
1楼 · 发布于 2024-05-13 07:09:47

尝试以下操作:

import netCDF4 as nc

dataset = nc.Dataset('/path/to/data.nc', 'r+')

cntry = dataset.variables['cntry_codes'][:]
shape = dataset.variables['data'].shape

for i in range(shape[0]):
    data_i = dataset.variables['data'][i]
    data_i[cntry == 840.0] = 0.8
    dataset.variables['data'][i] = data_i

dataset.close()

现在,你的数据.nc应使用新信息更新文件。告诉我是否有用。在

{cdf4}是netf4}的文档库。在

相关问题 更多 >