【问题标题】:xarray get the highest coordinate for variable values that are not NaNxarray 获取非 NaN 变量值的最高坐标
【发布时间】:2020-04-05 02:54:56
【问题描述】:

有没有一种矢量化的方法可以从空气中提取6,从风中提取7

ds = xr.merge([
    xr.DataArray([3, 5, 6], coords={'init': [0, 1, 2]}, dims='init', name='air'),
    xr.DataArray([8, 7, np.nan], coords={'init': [0, 1, 2]}, dims='init', name='wind')
])

循环方式是:

xr.merge([
    ds[var]
    .dropna('init', how='all')
    .isel(init=-1)
    .drop('init')
    for var in ds.data_vars
])

返回:

<xarray.Dataset>
Dimensions:  ()
Data variables:
    air      int64 6
    wind     float64 7.0

但我不希望它遍历每个变量并使用 dropna(dropna 对于大数组需要很长时间)所以我想知道是否有替代方法。

【问题讨论】:

    标签: coordinates nan python-xarray highest


    【解决方案1】:

    我认为最直接的解决方案是前向填充: ds.ffill('init').isel(init=-1)

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 2021-12-12
      • 2017-03-03
      • 2017-09-25
      • 1970-01-01
      • 2020-04-27
      • 2019-01-17
      • 1970-01-01
      • 2019-03-04
      相关资源
      最近更新 更多