Я бы бросил дважды с sum
и count
:
roll90 = df.rolling('90d').quantity.agg({'sum','count'})
# you may want roll29 instead of roll30
roll30 = df.rolling('30d').quantity.agg({'sum','count'})
roll = roll90 - roll30
roll['mean'] = roll['sum']/roll['count']