按坐标选取,Python-xarray

3
我有一个小的python-xarray DataArray,我称之为TINY,它具有维度xytTINY代表了一个更大的DataSet的处理后的子集,我称之为HUGE,它具有维度x'y't'以及变量foobarbaz
我正在寻找一种使用TINY坐标(在HUGE中存在的所有坐标和坐标对)从HUGE中选择数据集的方法。
我匆忙地drafted了以下说明。

enter image description here

选择返回 HUGE 的子集,该子集与 TINY 共享 coords。返回的是一个 DataSet。是否有一些缩写的 x-array 方法来处理这个问题?

我有点不清楚 - TINYHUGE是否共享维度?TINY中的值如何引用在HUGE中选择数据的位置? - Maximilian
是的。TINY和HUGE共享维度。它的坐标是HUGE坐标的子集。 - Conic
TINY 中有什么可以用来在 HUGE 中进行选择的标识?坐标?它们共享的数据?如果难以描述,一个代码示例可以解决问题。 - Maximilian
感谢您的耐心等待。我已经更新了插图以帮助澄清。TINY与HUGE共享坐标。在HUGE中可以找到TINY的所有坐标。我想基于TINY坐标选择HUGE的子集。(不是TINY值) - Conic
1个回答

2
".reindex_like()"将会给出HUGE的数据,按照TINY的坐标重新排列 - 这是您要找的吗?"

这看起来就是我要找的。当我写HUGE.reindex_like(TINY)时,它似乎返回一个与HUGE维度相同的数据集。当我写TINY.reindex_like(HUGE)时,它返回一个与TINY维度相同的数据集。我遇到的问题是,虽然我可能在我的选择中减小了HUGE的大小,但我并没有获得HUGE的所有变量。我可能没有做对。 - Conic
我们可能需要一个例子...我曾经认为这两个共享的维度。 - Maximilian
这个问题的背景是在一系列非常大的图像上进行图像处理或计算机视觉。Huge表示具有变量rgbxyt像素。我的算法对像素值进行了大量的过滤和操作,生成了一个叫做TINY的东西。它具有与Huge相同的xyt,但是关注的区域要小得多,并且不再具有rgb这些变量,而是一些派生变量,比如probabilityTINYHuge的一种经过滤波的版本。因此,它关注的区域比HUGE小得多,但仍处于相同的坐标系统中。 - Conic
我的问题是试图通过显示“巨大(HUGE)”位置或周围的TINY点的r,g,b组合来检查或调试。对于我的问题,TINY通常是一个20乘20(x,y)像素边界框,在我的时间轴(t)上只存在于约2或3个切片中。 - Conic
为什么 HUGE.reindex_like(TINY) 不能给你所需的结果?你能发一个更小的例子吗? - Maximilian
哦,哇。那确实有效。 我被 TINY 只沿着时间轴占据单个值时,在重新索引期间返回了 HUGE 中的所有t 给抛开了。 它正确地对 xy 坐标进行了重新索引,这已经比我之前的好多了。 - Conic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接