您正在为每个组生成合计的r和s值,因此应在
Series此处使用:
In [26]: df.groupby('x').apply(lambda x: Series({'r': (x.y + x.z).sum() / x.z.sum(),'s': (x.y + x.z ** 2).sum() / x.z.sum()}))Out[26]: rsx a -0.338590 -0.916635b 66.655533 102.566146
您正在为每个组生成合计的r和s值,因此应在
Series此处使用:
In [26]: df.groupby('x').apply(lambda x: Series({'r': (x.y + x.z).sum() / x.z.sum(),'s': (x.y + x.z ** 2).sum() / x.z.sum()}))Out[26]: rsx a -0.338590 -0.916635b 66.655533 102.566146