使用多个if替换xarray数据集的值

问题描述

我有带有变量tas的xarray数据集,我想使用多个if条件更改其值。即,如果值大于0.1,则为1,如果小于-0.1,则为-1,否则为0。我知道如何对单个if条件进行操作:

xr.where(df>0.1,1,0)

但是有人可以告诉我如何使用多个if条件吗?

xarray数据集:

<xarray.Dataset>
Dimensions:        (lat: 90,lon: 720,time: 1200)
Coordinates:
* lon            array([-90.,-89.057592,-88.115183,-87.172775,-86.230366,-85.287958,-84.34555,-83.403141,-82.460733,-81.518325,-80.575916,-79.633508,.... 85.287958,89.057592,90.])

* lat            array([  0.,1.25,2.5,...,356.25,357.5,358.75])

* time           array([cftime.DatetimeNoLeap(0001-01-15 12:00:00),cftime.DatetimeNoLeap(0001-02-14 00:00:00),cftime.DatetimeNoLeap(0001-03-15 12:00:00),cftime.DatetimeNoLeap(1200-10-15 12:00:00),cftime.DatetimeNoLeap(1200-11-15 00:00:00),cftime.DatetimeNoLeap(1200-12-15 12:00:00)],dtype=object)

Data variables:
tas              (time,lat,lon) float32 ...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)