如何删除xarray中所有没有维度的坐标和变量

问题描述 投票:0回答:1

如何删除所有没有任何维度的 xarray 数据集坐标和变量?在此示例中,我想从此数据集中删除

item
nothing

import xarray as xr

ds = xr.Dataset(
    {"temperature": (["x", "y"], [[1, 2, 3], [1, 2, 3], [1, 2, 3]]), "nothing": 10},
    coords={"item": "hi", "x": [1, 2, 3], "y": [1, 2, 3]},
)
ds

我当然可以使用

ds.drop_vars(["item", "nothing"])
,但我期待像
ds.drop_dims()
ds.squeeze()
这样的不同方法可以做到这一点,而无需我指定要删除哪个。

看待这个问题的另一种方法是,如何只选择维度为

(x,y)
的坐标和变量?

python-xarray
1个回答
0
投票

Xarray 并不完全有你正在寻找的东西,但类似这样的东西应该可以工作:

ds.drop_vars(lambda x: [v for v, da in x.variables.items() if not da.ndim])
© www.soinside.com 2019 - 2024. All rights reserved.