遍历 xarray 数据集中的 dataArray 属性
loop through dataArray attributes in an xarray dataset
我有一个 xarray 数据集,其中包含许多 dataArray。这些 dataArrays 中的每一个都有一个 .attrs,它包含一个有序的字典,其中包含 ] 诸如每个 dataArray 的描述和单位之类的东西。
我想遍历数据集中的每个 dataArray 并打印出它们的每个 .attrs。
for ii in dataSet.data_vars:
print(ii)
会给我每个数据数组的名称。然而,当我尝试
for ii in dataSet.data_vars:
print(ii.attrs)
我收到 AttributeError:'str' 对象没有属性 'attrs'
如果我改为尝试,
for ii in dataSet.data_vars:
print(dataSet.ii.attrs)
我收到 AttributeError: 'Dataset' 对象没有属性 'ii'
python 似乎试图将 'ii' 读取为 DataArray 名称,而不是在 ii 下存储为字符串的实际 dataArray 名称。我怎样才能遍历所有 dataArray 并打印出每个数据的 [dataArray].attrs?
data_vars
是一个可以遍历键值对的字典。
for varname, da in dataSet.data_vars.items():
print(da.attrs)
你的最后一个例子也可以,但你需要使用 ii
作为字典键:
for ii in dataSet.data_vars:
print(dataSet[ii].attrs)
请注意,如果您使用的是最新版本的 xarray,您还可以使用 dataSet.info()
method.
打印所有 variables/attributes
我有一个 xarray 数据集,其中包含许多 dataArray。这些 dataArrays 中的每一个都有一个 .attrs,它包含一个有序的字典,其中包含 ] 诸如每个 dataArray 的描述和单位之类的东西。
我想遍历数据集中的每个 dataArray 并打印出它们的每个 .attrs。
for ii in dataSet.data_vars:
print(ii)
会给我每个数据数组的名称。然而,当我尝试
for ii in dataSet.data_vars:
print(ii.attrs)
我收到 AttributeError:'str' 对象没有属性 'attrs' 如果我改为尝试,
for ii in dataSet.data_vars:
print(dataSet.ii.attrs)
我收到 AttributeError: 'Dataset' 对象没有属性 'ii'
python 似乎试图将 'ii' 读取为 DataArray 名称,而不是在 ii 下存储为字符串的实际 dataArray 名称。我怎样才能遍历所有 dataArray 并打印出每个数据的 [dataArray].attrs?
data_vars
是一个可以遍历键值对的字典。
for varname, da in dataSet.data_vars.items():
print(da.attrs)
你的最后一个例子也可以,但你需要使用 ii
作为字典键:
for ii in dataSet.data_vars:
print(dataSet[ii].attrs)
请注意,如果您使用的是最新版本的 xarray,您还可以使用 dataSet.info()
method.