use*_*915 6 python python-3.x python-xarray
我有一个 xarray 数据集,其中包含许多 dataArray。每个 dataArray 都有一个 .attrs,其中包含一个有序字典,其中包含诸如每个 dataArray 的描述和单位之类的内容。
我想循环遍历数据集中的每个 dataArray 并打印出它们的每个 .attrs 。
for ii in dataSet.data_vars:
print(ii)
Run Code Online (Sandbox Code Playgroud)
会给我每个数据数组的名称。然而,当我尝试
for ii in dataSet.data_vars:
print(ii.attrs)
Run Code Online (Sandbox Code Playgroud)
我得到 AttributeError: 'str' object has no attribute 'attrs' 如果我尝试改为,
for ii in dataSet.data_vars:
print(dataSet.ii.attrs)
Run Code Online (Sandbox Code Playgroud)
我收到 AttributeError: 'Dataset' 对象没有属性 'ii'
看起来 python 正在尝试将“ii”读取为 DataArray 名称,而不是在 ii 下作为字符串存储的实际 dataArray 名称。我怎样才能循环遍历所有 dataArray 并打印出每个 dataArray 的 [dataArray].attrs ?
data_vars是一个字典,您可以迭代键、值对。
for varname, da in dataSet.data_vars.items():
print(da.attrs)
Run Code Online (Sandbox Code Playgroud)
你的最后一个例子也可以工作,但你需要用作ii字典键:
for ii in dataSet.data_vars:
print(dataSet[ii].attrs)
Run Code Online (Sandbox Code Playgroud)
dataSet.info()请注意,如果您使用的是最新版本的 xarray,您还可以使用方法打印所有变量/属性。
| 归档时间: |
|
| 查看次数: |
8633 次 |
| 最近记录: |