微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

填满前进杯/ CUDF

如何解决填满前进杯/ CUDF

应该可以使用cupy / cudf进行填充吗?这个想法是执行schimitt触发函数,例如:

# pandas version
df = some_random_vector
on_off = (df>.3)*1 + (df<.3)*-1
on_off[on_off==0) = np.nan
on_off = on_off.fillna(method='ffill').fillna(0)

我正在尝试这个,但是杯状的却没有积累ufunc:

def schmitt_trigger(x,th_lo,th_hi,initial = False):
    on_off = ((x >= th_hi)*1 + (x <= th_lo)*-1).astype(cp.int8)
    mask = (on_off==0)
    idx = cp.where(~mask,cp.arange(start=0,stop=mask.shape[0],step=1),0)
    cp.maximum.accumulate(idx,axis=1,out=idx)
    out = on_off[cp.arange(idx.shape[0])[:,None],idx]
    return out

有什么主意吗? 谢谢!

解决方法

不幸的是,RAPIDS当前在cudf中没有该功能,并且可能也没有0.16。 github中有功能要求。 https://github.com/rapidsai/cudf/issues/1361

希望您能按要求加入,以便开发人员可以了解其高度需求。

对于施密特触发器,如果​​有任何进展,我将对其进行研究,并编辑您的代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。