gpt4 book ai didi

Python xarray.DataArray : resize coordinates

转载 作者:行者123 更新时间:2023-12-04 17:52:13 25 4
gpt4 key购买 nike

对于我的 Python 包 numericalmodel这应该有助于对简单的数值模型进行原型(prototype)设计,我为自描述数据集编写了类。我最近偶然发现了很棒的 xarray library现在正在考虑使用 xarray.Datasetxarray.DataArray而不是我自己的数据管理类。

我搜索了xarray documentation但没有找到我的问题的答案。对不起,如果我忽略了什么。

据我了解xarray ,其结构最适合用于不改变其形状的静态数据。但是对于我的 numericalmodel包我需要用新的及时值不断扩展数组,即在每个新的时间步长。我事先不知道时间点,因为可以为每个求解的方程自适应地确定时间步长。

所以我的问题:

怎么样一个展开 xarray.DataArray的坐标?

这可能归结为“如何扩展 xarray.DataArray “一般来说

一种可能的方法应该是:

  • 没有太多的开销(例如,不依赖于创建新的 DataArray s,然后重新分配坐标,然后删除旧的)
  • 可能处理依赖于该坐标的其他数据变量

  • 我的猜测是不可能像这样。通常,如果您在某个问题上没有找到任何内容,这要么意味着答案显而易见,要么非常重要 ;-)

    谢谢!

    没有人

    最佳答案

    简短的回答是,使用 xarray 的当前数据模型(建立在 numpy 数组上)无法有效地做到这一点。 Xarray 不支持 append,因为 numpy 中的 append 需要一个完整的副本。

    有关详细信息,请参阅最近的邮件列表讨论,但基本上目前推荐的方法是将结果累积在列表中并调用 concat最后只有一次:https://groups.google.com/forum/m/#!topic/xarray/BAN7WobAfyw

    也就是说,如果我们构建了一个替代存储层来使用而不是 numpy 数组,那么有一些方法可以有效地完成此操作(在摊销常数时间内沿一维追加)。 Xarray 实际上已经有了其中的一些,所以这并不像看起来那么难。无论如何,如果您有兴趣在此方面开展工作,我很乐意在 GitHub 问题中讨论后续步骤。

    关于Python xarray.DataArray : resize coordinates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43720997/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com