使用 isel 时如何在 xarray 中保留维度值?
How do I preserve dimension values in xarray when using isel?
设置:
我有一个维度为 x
、y
、t
的 xarray 数据集,名为 foo
选择命令
bar = foo.isel(t = 2)
沿 t
轴选择单个切片并将结果存储在 bar
我的问题:
bar
只有维度 x
,y
我想在选择后使用t
快速重组多个切片
期望:
bar
具有维度 x
、y
、t
(与其超集维度相同)
foo
的每个切片在真实世界设置中都有一个关联的 t
坐标值。来自 foo
的单个切片 bar
应该保留 t
坐标,以便如果数据集因任何原因被拆分,它可以在未来重新组合。
Predictable/consistent 关于 sel
或 isel
维度处理的行为意味着更少的手动检查。
问题
(1) 文档引用了一个名为 **indexers_kwargs
的 kwarg
。关于 **indexers_kwargs
下接受的内容是否有更具体的文档?我无法找到明确的列表或有意义的定义。我希望在使用 sel
或 isel
时可能存在一个 kwarg
用于保留 t
值。这样的事情存在吗?
(2) 目前我正在考虑的方法是用一个函数包装 isel
或 sel
,该函数可以只保留一个值的 dims。如果它被原生支持会更快乐。您可以 imagine/propose 替代解决方法吗?
当前保留维度的解决方案:
使用列表
bar = foo.isel( t = [2] )
isel 使用切片
bar = foo.isel( t = slice(2, 2 + 1) )
设置:
我有一个维度为 x
、y
、t
的 xarray 数据集,名为 foo
选择命令
bar = foo.isel(t = 2)
沿 t
轴选择单个切片并将结果存储在 bar
我的问题:
bar
只有维度 x
,y
我想在选择后使用t
快速重组多个切片
期望:
bar
具有维度 x
、y
、t
(与其超集维度相同)
foo
的每个切片在真实世界设置中都有一个关联的t
坐标值。来自foo
的单个切片bar
应该保留t
坐标,以便如果数据集因任何原因被拆分,它可以在未来重新组合。Predictable/consistent 关于
sel
或isel
维度处理的行为意味着更少的手动检查。
问题
(1) 文档引用了一个名为 **indexers_kwargs
的 kwarg
。关于 **indexers_kwargs
下接受的内容是否有更具体的文档?我无法找到明确的列表或有意义的定义。我希望在使用 sel
或 isel
时可能存在一个 kwarg
用于保留 t
值。这样的事情存在吗?
(2) 目前我正在考虑的方法是用一个函数包装 isel
或 sel
,该函数可以只保留一个值的 dims。如果它被原生支持会更快乐。您可以 imagine/propose 替代解决方法吗?
当前保留维度的解决方案:
使用列表
bar = foo.isel( t = [2] )
isel 使用切片
bar = foo.isel( t = slice(2, 2 + 1) )