我已经阅读了多篇与我的问题类似的帖子,但我仍然无法弄清楚。我有一个类似以下格式(适用于多个日期)的pandas df:
Out[1]:
price quantity
time
2016-06-08 09:00:22 32.30 1960.0
2016-06-08 09:00:22 32.30 142.0
2016-06-08 09:00:22 32.30 3857.0
2016-06-08 09:00:22 32.30 1000.0
2016-06-08 09:00:22 32.35 991.0
2016-06-08 09:00:22 32.30 447.0
...
为了计算VWAP,我可以这样做:
df['vwap'] = (np.cumsum(df.quantity * df.price) / np.cumsum(df.quantity))
然而,我希望每天重新开始(按组分组),但我不知道如何与 (lambda?) 函数一起使其工作。
df['vwap_day'] = df.groupby(df.index.date)['vwap'].apply(lambda ...
速度至关重要。非常感谢任何帮助:)