小编use*_*915的帖子

循环访问 xarray 数据集中的 dataArray 属性

我有一个 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 ?

python python-3.x python-xarray

6
推荐指数
1
解决办法
8633
查看次数

定义 cartopy 上墨卡托投影的纵向范围

我试图绘制一些作为矩阵存在的数据,例如温度。这些数据是区域性的,所以我不需要全球地图。

我有:

  1. 数据矩阵 (mxn)
  2. 定义纬度(mx1)和经度(nx1)的向量

我想使用带有墨卡托投影的 cartopy 来绘制它。但是,墨卡托只允许我定义最小和最大纬度,而不是最小和最大经度。这最终给了我一大片土地。

Mercator(central_longitude=103.0,min_latitude=gridlat[0],max_latitude=gridlat[-1])
Run Code Online (Sandbox Code Playgroud)

我将如何设置沿海地图的最小和最大经度?最终,我只想绘制我的数据,并在其上覆盖国家边界,就像使用 ncview 时的外观一样。

python matplotlib cartopy jupyter-notebook

1
推荐指数
1
解决办法
1874
查看次数