netCDF4库通过`Dataset`函数打开文件,`variables`属性获取变量,再通过字典键读取数据。xarray库利用`open_dataset`打开文件,直接通过变量名访问数据。文中还涉及性能优化,如分块读取、使用Dask进行并行计算以及仅加载所需变量。注意文件路径、变量命名和数据类型,读取后记得关闭文件(netCDF4需显式关闭)。
filename=r'E:\aaaa\world_geo.nc'f=xr.open_dataset(filename)lat=f['y'][3591:3621]height=f['z'][3591:3621,8669]fig=plt.figure(figsize=(4,1.5),dpi=700)ax=fig.add_axes([0,0,1,1])ax.plot(lat,height,c='k',lw=1)ax.fill_between(lat,height,facecolor='white',hatch='///')#...
ERA5:这次的例子中使用的是ERA5的再分析数据,首先利用xr.open_dataset读取数据,利用ds.sel()选择需要的时间范围,最后选取需要的变量。图中主要用到的是气温t, 相对湿度r,水平风u,v和垂直速度w。 # read data data_path = "D:/python/CSDN/data/ERA5-pressure_20230301-0304.nc" time_range = pd.date_r...
xarray.open_dataset()读取Dataset类型数据,即能读取多个物理量。 xarray.open_dataarray()读取DataArray类型数据,即只能读取单个物理量。 1. 2. 如果nc文件中含有多个物理量,用open_dataarray()读取会报错,因此建议统一都用open_dataset()来读取文件。 提取物理量 从文件中读取数据ds = xarray.open_dataset() 1...
[:,300,:,:].loc[f_u300.time.dt.month.isin([11])])f_v300=xr.open_dataset("v.nc")v300=np.array(f_v300['v'].loc[:,300,:,:].loc['2014-11-01'])v_tmp=np.array(f_v300['v'].loc[:,300,:,:].loc[f_v300.time.dt.month.isin([11])])lat=f_z300['latitude']lon=f_z300...
importxarrayasxrdata_path="data/1month_anomaly_Global_ea_2t_201907_1991-2020_v02.grib"original_data=xr.open_dataset(data_path,engine="cfgrib")original_data 从上面的代码返回的xarray的数据集类的结构 打开grib文件后,我们可以看到Dimensions、Coordinates、Data variables和Attributes。这些元素中的每一个都包...
with open("M550_SALES.json") as f: data = json.load(f) 为了看得更为直观,咱们把JSON正确缩进后输出。这里我们只展示前面的一些行。 print(json.dumps(data, indent=2)) { "dataset": { "dataset_code": "M550_SALES", "column_names": [ "Date", "Value" ], "newest_available_date": "...
Open(mcd_sub_dataset[2][0])mcd_raster_array=mcd_sub_type.ReadAsArray()lai_raster=gdal.Open(...
dataset:在数据库中存储字典,支持 SQLite,MySQL 和 PostgreSQL。 orator:Orator ORM,提供了一个简单而美观的 ActiveRecord 实现。 orm:一个异步的 ORM。 peewee:一个小但是很有表现力的 ORM。 pony:提供面向生成器的SQL接口的ORM。 pydal:纯 Python 数据库抽象接口层。 NoSQL 数据库 django-mongodb-engine:Djang...
/sst.intep.nc'da1 = xr.open_dataset(sst_path).sortby('lat')da2 = xr.open_dataset(olr_path).sortby('lat')sst = da1.sst.sel(lat=slice(-30,30),lon=slice(100,200))olr = da2.olr.sel(lat=slice(-30,30),lon=slice(100,200),time=slice('2010','2010'))### calculate ###trend...