首页 > 解决方案 > xarray 中的 Combine_by_Coords 给出 numpy 警告

问题描述

我正在尝试将在两个维度上不同的 DataArrays 列表组合到一个 DataSet 中。列表中的每个 DataArray 具有相同的前 2 个坐标/维度,但后两个(如下图所示的时期和场景)分别代表不同的年份和运行场景。当我申请时,combine_by_coords()我收到了这个 numpy 警告:

/srv/conda/envs/notebook/lib/python3.8/site-packages/xarray/core/dataarray.py:789: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
  return key in self.data

导致错误的代码是:

da = xr.combine_by_coords(das, combine_attrs="override")

其中 das 是 xarray DataArrays 的一维列表,每个 DataArray 具有以下形式:

    <xarray.DataArray 'value' (period: 1, scenario: 1, probability: 6, id: 1514)>
array([[[[1.08504646e+00, 2.02234233e+00, 3.10153249e+00, ...,
          0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
         [5.8225445e+01, 8.04550578e+01, 9.71722192e+00, ...,
          0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
         [2.2915118e+01, 2.66587244e+01, 0.59799999ge+01, ...,
          0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
         [8.52346211e+00, 4.13424864e+00, 2.45248412e+01, ...,
          0.00000000e+00, 0.00000000e+00, 7.48328165e-04]]]])
Coordinates:
  * id      (id) object 'OS011' 'OS012' 'OS013' ... 'LWV0F' 'LWV0G'
  * probability  (probability) object '0.05' '0.17' '0.5' '0.83' '0.95' 'mean'
  * period       (period) int64 2025
  * scenario     (scenario) <U14 'high'
Attributes:
    version:      v1.1.1

有没有办法在不发出警告的情况下,在每年和场景中干净地创建最终数据集?

标签: pythonnumpypython-xarray

解决方案


推荐阅读