如何使用平移和逐个对象地应用功能?

时间:2018-09-19 23:23:01

标签: python pandas

我正在尝试按客户和物料查找demandQuantity列组中的连续零个数,并在单独的列中滞后6个月(每行代表一个月)。所以我用下面的代码

def myfunc(rolling_window) :
    count=0
    n=len(rolling_window)
    if rolling_window[-1]!=0:
        return 0
    else:
        for i in range(0,n):
            if rolling_window[n-i-1] == 0:
                count=count + 1
            else:
                break
    return count
df2['zerocum']=df2.groupby(['customerParentID','forecastGroup'])['demandQuantity'].shift(6).rolling(window=36,min_periods=1).apply(myfunc)

但是,这不符合我的预期。我得到的输出与使用以下

时得到的输出相同
df2['zerocum']=df2.['demandQuantity'].shift(6).rolling(window=36,min_periods=1).apply(myfunc)

因此,似乎输出未按分组。我使用完全相同的逻辑来查找滞后6个月的滚动平均值,这似乎也不起作用。如果有人可以帮助我,我将不胜感激

0 个答案:

没有答案