【问题标题】:add new coordinates to an xarray.DataArray向 xarray.DataArray 添加新坐标
【发布时间】:2019-07-09 19:33:28
【问题描述】:

假设下面的代码有一个xarray.DataArray,有两个维度和一个坐标:

import numpy as np
from xarray import DataArray

data = np.random.rand(10, 4)
f_names = ['a', 'b', 'c', 'd']
sample_weights = np.random.rand(10)
rows = list(range(len(data)))
coords={'samples': rows,
        'features': f_names,
        'sample_weights': ('samples', sample_weights)}
xdata = DataArray(data, coords=coords,
                  dims=['samples', 'features'])

subset = xdata[::2]

现在我想添加另一个坐标,例如 alternate_sample_weightssubset。我试试:

subset.assign_coords(alternate_sample_weights=np.zeros(5)

导致以下错误:

ValueError: cannot add coordinates with new dimensions to a DataArray

API documentation 非常稀疏,不知道我做错了什么。

【问题讨论】:

    标签: python python-xarray


    【解决方案1】:

    似乎在添加新坐标时,您还需要传递添加它的维度。所以在这种情况下,它将是:

    subset.assign_coords(
        alternate_sample_weights=('samples', np.zeros(5)))
    

    【讨论】:

      猜你喜欢
      • 2022-12-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 2015-07-26
      • 2017-05-06
      • 2018-11-21
      • 1970-01-01
      相关资源
      最近更新 更多