首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

xarray库(一) 】创建xarray对象

python语言作为一种高级语言提供了一个与这类地球科学数据提供了一个良好交互环境基础,而由python语言编写xarray包[1]则为该类数据处理提供了良好平台。...不同时间温度、降水量也是不同。一般而言,夏季降水量、温度都是大于冬季。那么我们就必须在温度、湿度变量上再引入一个维度——时间t进行描述。这时候你就可以知道任意时间、任意地点温度、湿度大小了。...DataArray维度名称,坐标和属性添加到多维数组,而Dataset则是多个DataArray数组集合。 “什么叫做类,什么叫做实例? 苹果是水果组成部分,那么苹果称为水果类。...对象可以多个变量放在一起。...coords: 与 DataArray类似 attrs: 与 DataArray类似 作为例子,下面我们来创建一个有两个变量Dataset对象 : ds = xr.Dataset( data_vars

5K100

wrf-python 详解之如何使用

wrf.to_np 函数按照以下流程执行: 如果没有缺省值或填充值,那么直接调用 xarray.DataArray.values 属性返回值 如果有缺省值或填充值,那么会用 xarray.DataArray.attrs...3d_ndarray)) 返回: 文件序列 使用 cat 方法合并多个文件 cat 方法会将序列中所有文件沿着 'Time' 维进行合并,时间维度作为返回数组最左侧维度...如果 timeidx 是单个值,那么假设时间索引取自所有文件所有时间连接。 注意:执行 wrf.getvar 时并不会进行排序,也就是说在执行函数之前应在序列中按时间对文件进行排序。...如果指定值的话,那么从每个文件中提取变量时,指定值应用于每个文件。在具有多个时刻多个文件中,这样做可能是没有意义,因为每个文件第 n 个索引可能表示不同时刻。...然而,在字典中所有的WRF文件都应包含相同维度结果是一个数组,最左侧维度是字典中键。同样允许使用嵌套字典。

19.2K1012
您找到你想要的搜索结果了吗?
是的
没有找到

xarray走向netCDF处理(一):数据结构及数据读取

DataArray 一个带有标签多维数组,它有如下几个重要属性 values 获取数组具体数值 dims 获取维度名字,如('x', 'y', 'z') coords 获取一个类似于字典结果,...里面包含各个坐标 attrs 获取原始数据属性,比如变量名字、单位等 Dataset Dataset可以简单理解为由多个DataArray组成集合,它有如下几个重要属性 dims 获取维度名字...,比如变量名字、单位等 ?...# 取出ds中名为t2m物理量,可以看到它维度,坐标系,以及t2m有单位和名字两个属性 >>>ds['t2m'] <xarray.DataArray 't2m' (time: 12, latitude...xarray封装了matplotlib部分绘图函数,一行代码就可以数据画出来,不过作为一个负责公众号,还是用cartopy顺带加载了地图。

24K1712

xarray走向netCDF处理(一):数据结构及数据读取

DataArray 一个带有标签多维数组,它有如下几个重要属性 values 获取数组具体数值 dims 获取维度名字,如('x', 'y', 'z') coords 获取一个类似于字典结果,...里面包含各个坐标 attrs 获取原始数据属性,比如变量名字、单位等 Dataset Dataset可以简单理解为由多个DataArray组成集合,它有如下几个重要属性 dims 获取维度名字...,比如变量名字、单位等 数据结构图示 数据类型使用 读取数据: xarray.open_dataset()读取Dataset类型数据,即能读取多个物理量。...# 取出ds中名为t2m物理量,可以看到它维度,坐标系,以及t2m有单位和名字两个属性 >>>ds['t2m'] <xarray.DataArray 't2m' (time: 12, latitude...xarray封装了matplotlib部分绘图函数,一行代码就可以数据画出来,不过作为一个负责公众号,还是用cartopy顺带加载了地图。

3K112

xarray | 数据结构(3)

xarray坐标有两种类型: 维度坐标 是名称和唯一维度名称相同1D数组(打印Dataset或 DataArray时 *号标记变量)。...非维度坐标 是包含坐标数据变量,但不是维度坐标。它们可以是多维,而且非维度坐标名称和它维度名称没有关系。非维度坐标在绘图或索引时非常有用。除此之外, xarray 不会限制使用与其相关值。...注: xarray术语和 CF 中术语不同。CF中维度坐标称作坐标变量,而非维度坐标称作辅助坐标变量 [注1]。CF是指 Climate and Forecast [注2]。...更改坐标 如果要完整添加或移除坐标数组,你可以使用类字典语法(如上所示)。...,其余维度坐标变量均转换为坐标变量

1.7K21

xarray库(二)】数据读取和转换

对于字符串而言,可以字符串中各个字符提取出来,其结果如下所示 list("abcdefghij")运行结果 上述 list 函数创建了一个列表。这个列表赋予了 index 值。...索引和数据 综上,对于 pd.Series 函数理解可如下进行理解 pd.Series函数 若要将变量 series(pandas 类型)转为 xarray 类型只需在变量后加上.to_xarray...arr = series.to_xarray() arr 运行结果 由于只有一个变量,所以转换结果xarrayDataArray类型。...若要将 xarray 转为 pandas 类型,类似的在变量后加上.to_pandas() arr.to_pandas() 运行结果 对于 xarray 变量Dataset对象同理可用类似对pandas...Xarray 采用open_dataset / open_dataarray 函数读取NetCDF 文件,采用to_netcdf方法数据写入文件。

6.4K60

数据处理 | xarray计算距平、重采样、时间

一般这个残差称为距平。 对转换(Transformations)操作而言,消除数据气候平均是一个很好例子。转换操作对分组对象进行操作,但不改变原数据维度尺寸。...应当指出这里时间间隔写法与之前pd.date_range函数freq时间间隔关键词是一致。...(50°N, 60°E) 海温变化 第一行代码原始海温变化时间序列画了出来,第二行画了经逐 5 年平均后海温变化时间序列。...ds_anom_rolling 参数time=12指定了对维度time以 12 个月为周期(月数据)变动时间窗,center参数表明以当前窗两侧筛选数据,否则是以当前窗前 12 个月作为筛选目标(包括本身...foo 多个维度dims需用小括号或者方括号包裹。不同 coords 之间参数用逗号间隔,因为用列表创建坐标维度特性,无需写坐标维度名称。坐标维度名称沿用维度名称名字。

10.6K74

Meteva笔记:加载GRIB 2要素场

转换 time,step 和 pl 都扩展为维度并将单位转为摄氏度 field = field.expand_dims(["time", "step", "pl"]) field = field...使用 meb.xarray_to_griddata() 函数将要素场对象转为 meb.grid_data() 函数生成 xr.DataArray 对象 可以看到,对于单个要素场,该函数自动生成了 memeber...修改坐标值,与 t850_grid 保持一致: 添加 member 名称 时间从世界时改为北京时 meb.set_griddata_coords( cropped_grid_data,...计算 计算 024 时效与该时刻分析场均方根误差 载入数据 整合函数,实现如下功能: 使用 nwpc-data 从 GRIB 2 文件中加载要素场 返回要素场转换为 xr.DataArray 对象...计算指标 计算均方根误差 RMSE 使用 squeeze 方法删掉长度为 1 维度数据变为二维矩阵 mem.rmse( anal_grid.squeeze(), fcst_grid.squeeze

2.9K40

xarray走向netCDF处理(三):插值与掩膜

插值 xarray中对scipy插值函数进行了进一步封装,可以让我们方便调用。 只需要对DataArray,DataSet使用interp()函数就可以实现插值了,就像索引一样简单。...下面是官方给出例子,DataArray时间维度总共有四个值[0,1,2,3]。 da.sel(time=3),索引时间值为3(12行)。...da.interp(time=2.5),时间维原本不存在2.5插值了出来(22行)。...space (space) float64 0.1 0.2 0.3 time float64 2.5 数据掩膜 日常数据处理中经常要用到掩盖陆地或者海洋数据,一种方法就是在画图时候最后添加地理信息...对任意DataArray或者Dataset创建一个新坐标,海陆数据附给他。 根据海陆分布数据中海洋或者陆地值来提取掩膜数据。

8.1K64

xarray走向netCDF处理(三):插值与掩膜

插值 xarray中对scipy插值函数进行了进一步封装,可以让我们方便调用。 只需要对DataArray,DataSet使用interp()函数就可以实现插值了,就像索引一样简单。...下面是官方给出例子,DataArray时间维度总共有四个值[0,1,2,3]。 da.sel(time=3),索引时间值为3(12行)。...da.interp(time=2.5),时间维原本不存在2.5插值了出来(22行)。...space (space) float64 0.1 0.2 0.3 time float64 2.5 数据掩膜 日常数据处理中经常要用到掩盖陆地或者海洋数据,一种方法就是在画图时候最后添加地理信息...对任意DataArray或者Dataset创建一个新坐标,海陆数据附给他。 根据海陆分布数据中海洋或者陆地值来提取掩膜数据。

1.4K133
领券