gpt4 book ai didi

python-xarray - Python Xarray `Dataset.sel()` 沿一维选择多个值

转载 作者:行者123 更新时间:2023-12-04 14:07:51 28 4
gpt4 key购买 nike

假设我有一个 dataset类型 xarray.Dataset .我有一个名为 name 的维度,(由 DataArray 中的所有 Dataset 共享,但我认为这对这个问题并不重要,)我想选择一个具有特定名称的条目。我会这样做。

dataset.sel(name="lucifer")

但是假设我现在想要选择一个包含名称“lucifer”和“judas”的子数据集。我想做类似的事情:
dataset.sel(name=["lucifer", "judas"])

因为这是我能想象到的最接近 Pandas 的语法。但这给了我一个错误。
InvalidIndexError: Reindexing only valid with uniquely valued Index objects

(顺便说一句,我从 Xarray 得到的每一个错误似乎都是这个确切的错误,我很高兴看到 Xarray 提供更多信息性错误。) 所以我的问题是,如何从命名维度中选择多个命名值? 假设命名值没有特定的顺序,因此我不能使用切片。

最佳答案

如果您可以为维度使用唯一索引,那么您可以使用 where在非唯一坐标上:

In [11]: ds=xr.Dataset({'a': [1,2,3], 'b': ('a', [4,5,5])})
In [14]: ds.where(ds.b==5, drop=True)
Out[14]:
<xarray.Dataset>
Dimensions: (a: 2)
Coordinates:
* a (a) int64 2 3
Data variables:
b (a) float64 5.0 5.0

关于python-xarray - Python Xarray `Dataset.sel()` 沿一维选择多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38846323/

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