df.groupby('time').agg({'tip': lambda x: df.ix[x.index].tip.sum() / df.ix[x
    .index].total_bill.sum(), 'tip_fcst': lambda x: df.ix[x.index].tip_fcst
    .sum() / df.ix[x.index].total_bill.sum()}).assign(difference=lambda x: 
    x.tip_fcst - x.tip)
How to refer to current version of pandas dataframe in chained operations