如何从xarray中的时间坐标中消除NaT值

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

我有一个 xarray DataArray,其中时间作为坐标之一 - 但是,某些坐标值是 NaT。

时间坐标存储为 numpy.datetime64 值。

如何删除与时间 = NaT 的坐标相对应的值?

我可以使用

选择时间 = NaT 的数据子集
data.sel(time = "NaT")

但是,代码

data.sel(time != "NaT")

产生以下错误:

NameError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_19648/1491593867.py in <module>
----> 1 wind.sel(time != "NaT")

NameError: name 'time' is not defined

此外,dropna 方法如

data.dropna(dim = "time")
#or

返回整个数据集而不删除 NaT 数据。

如何删除与 NaT 时间值关联的数据?

谢谢!

python datetime python-xarray nat
1个回答
0
投票

看起来像“时间”,它是一个坐标,而不是数据集的维度。

我使用了两种表单,并且都适用于我的数据集。 with 'NaT'

  1. 使用 xarray.DataArray.dropna()

    {ds.time.dropna(dim='轨迹',how='任意')}

After removing 'NaT'

  1. 转换为数据帧并使用 dropna()

    df = ds.isel(轨迹=1).to_dataframe()

    df.dropna(轴=0,how='任意')

© www.soinside.com 2019 - 2024. All rights reserved.