问题描述
我正在研究CDS API,我有兴趣实现最好的方法,在该方法中,我可以首先找出Xarray DataSet的特定DataArray的偏斜度。然后在同一DataArray上应用任何合适的转换(例如Box Cox)。请注意,DataArray为2D格式(经度和纬度)
问题是:
-
scipy偏斜方法提供2D数组中每个元素的偏斜度。我了解理想情况下它应该像这样工作,但是我正在寻找的是整个2D DataArray的偏斜值。
-
我想应用Box Cox以及Xarray DataArray上可用的任何其他转换,但是它们似乎只接受一维数组。如何以最有效的方式对2D或更高维数组实现相同的功能?
我目前正在尝试做的是这样:
import xarray as xr
import scipy.stats as stats
ds = xr.open_dataset("datasets.nc")
tp = ds['tp']
tp = stats.Boxcox(tp)
我期望的是转换后没有扭曲的数据。 是否有直接的方法,例如我要尝试的方法?如果没有,我在这里想念什么?
如果我尝试直接在数据数组'tp'上使用Boxcox,则会收到此错误(参考上面第二点):
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-8-bbb0bad8d4d5> in <module>()
----> 1 tp_Boxcox = stats.Boxcox(tp)
2 tp_Boxcox
/usr/local/lib/python3.6/dist-packages/scipy/stats/morestats.py in Boxcox(x,lmbda,alpha)
1034 x = np.asarray(x)
1035 if x.ndim != 1:
-> 1036 raise ValueError("Data must be 1-dimensional.")
1037
1038 if x.size == 0:
ValueError: Data must be 1-dimensional.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)