是否可以直接计算两列的乘积(或例如总和)而不使用
grouped.apply(lambda x: (x.a*x.b).sum()
使用起来要快得多(不到我机器上时间的一半)
df['helper'] = df.a*df.b
grouped= df.groupby(something)
grouped['helper'].sum()
df.drop('helper', axis=1)
但我真的不喜欢这样做。例如,计算每组的加权平均值很有用。这里的 lambda 方法是
grouped.apply(lambda x: (x.a*x.b).sum()/(df.b).sum())
并且再次比将助手除以 b.sum() 慢得多。