xarray 创建变量属性
xarray create variables attributes
我想用 xarray 创建一个数据集,并想在创建数据集时向变量添加属性。 xarray documentation 提供了一种添加全局属性的方法。
例如如下:
ds = xr.Dataset(
data_vars=dict(
'temperature'=(["x", "y", "time"], temperature),
'precipitation'=(["x", "y", "time"], precipitation),
),
coords=dict(
lon=(["x", "y"], lon),
lat=(["x", "y"], lat),
time=time,
reference_time=reference_time,
),
attrs=dict(description="Weather related data."),)
添加变量属性的一种方法是这样的:
ds['temperature'].attrs = {"units": K, '_FillValue': -999}
但是,在我看来,这更像是更新属性。有没有办法在直接使用 xr.Dataset
创建数据集时直接分配属性?
是的,可以在定义data_vars
时直接定义变量属性。您只需要以字典形式提供属性。
另见:https://xarray.pydata.org/en/stable/internals/variable-objects.html
在你上面的例子中是:
ds = xr.Dataset(
data_vars=dict(
temperature=(["x", "y", "time"], temperature,{'units':'K'}),
precipitation=(["x", "y", "time"], precipitation,{'units':'mm/day'}),
),
coords=dict(
lon=(["x", "y"], lon),
lat=(["x", "y"], lat),
time=time,
reference_time=reference_time,
),
attrs=dict(description="Weather related data."),)
我想用 xarray 创建一个数据集,并想在创建数据集时向变量添加属性。 xarray documentation 提供了一种添加全局属性的方法。 例如如下:
ds = xr.Dataset(
data_vars=dict(
'temperature'=(["x", "y", "time"], temperature),
'precipitation'=(["x", "y", "time"], precipitation),
),
coords=dict(
lon=(["x", "y"], lon),
lat=(["x", "y"], lat),
time=time,
reference_time=reference_time,
),
attrs=dict(description="Weather related data."),)
添加变量属性的一种方法是这样的:
ds['temperature'].attrs = {"units": K, '_FillValue': -999}
但是,在我看来,这更像是更新属性。有没有办法在直接使用 xr.Dataset
创建数据集时直接分配属性?
是的,可以在定义data_vars
时直接定义变量属性。您只需要以字典形式提供属性。
另见:https://xarray.pydata.org/en/stable/internals/variable-objects.html
在你上面的例子中是:
ds = xr.Dataset(
data_vars=dict(
temperature=(["x", "y", "time"], temperature,{'units':'K'}),
precipitation=(["x", "y", "time"], precipitation,{'units':'mm/day'}),
),
coords=dict(
lon=(["x", "y"], lon),
lat=(["x", "y"], lat),
time=time,
reference_time=reference_time,
),
attrs=dict(description="Weather related data."),)