[英]Python xarray.DataArray: resize coordinates
對於我的 Python 包numericmodel ,它應該有助於對簡單的數值模型進行原型設計,我為自描述數據集編寫了類。 我最近偶然發現了很棒的xarray 庫,現在正在考慮使用xarray.Dataset
和xarray.DataArray
而不是我自己的類進行數據管理。
我搜索了xarray 文檔,但沒有找到我的問題的答案。 對不起,如果我忽略了什么。
據我了解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 問題中討論后續步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.