我正在尝试按客户和物料查找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个月的滚动平均值,这似乎也不起作用。如果有人可以帮助我,我将不胜感激