对于我的Python包numericalmodel,我为自描述数据集编写了类,该包旨在帮助构建简单的数值模型。我最近偶然发现了很棒的xarray library,现在正考虑使用xarray.dataset
和{
我搜索了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问题上会是什么样子。在
相关问题 更多 >
编程相关推荐