Pandas有条件积温达到极限时停止,低于i时继续

2024-05-19 06:22:54 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个pd系列。 对于“a”列,当累计数大于k(k=2)时,任何正数据都将被删除(不超过与累计数结果相加),如果累计数小于-k,则任何负数据都将被删除。我已经用一个循环实现了这个功能,但它也是慢点。怎么我能修改这个功能吗?非常感谢你。在

我正在考虑用扩展函数来改进函数。像这样。但确实如此错了。因为累计数取决于之前的数据。在

def c_sum(x):
    s=x.sum()
    k=2
    if (s<k+1 )and (s>-k-1):
        return s
    elif s>k:
        return 2
    else:
        return -2

%time sig['x']=p

pd.expanding_apply(sig['a'],c_sum)    

===========以下代码正确但速度较慢========

^{pr2}$

Tags: and数据函数功能returniftimedef

热门问题