为了账号安全,请及时绑定邮箱和手机立即绑定

如何在一天内的特定时间段应用累积 python 函数,然后从第二天开始重置

如何在一天内的特定时间段应用累积 python 函数,然后从第二天开始重置

炎炎设计 2021-12-16 10:26:01
我正在为特定数量的时间段应用时间序列累积函数,比如 15 分钟到一系列天,我的主要函数是:def axmp(df):    return np.cumsum(df.Volume * (df.High + df.Low + df.Close)/3) / np.cumsum(df.Volume)但是我无法通过pandas groupby方法将上述函数应用于由15分钟股票数据组成的pandas数据框。就像上面的函数一样,我想要在每个新的一天开始时重新设置上面的 python 函数(即它不应该采用前几天的任何累积数字)并且应该继续超过一年的股票数据。样本数据:        Date    Open    High    Low Close   Volume13-02-2019 9:15 65.89   65.89   65.89   65.89   2433913-02-2019 9:30 66.00   66.00   66.00   66.00   189214-02-2019 11:15 65.98  65.98   65.98   65.98   193714-02-2019 11:30 65.95  66.01   65.95   66.01   518115-02-2019 9:15 66.04   66.08   66.04   66.08   6189请建议我对上述代码或新代码进行任何修改。
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

IIUC您需要axmp按天分组申请:


df.Date = pd.to_datetime(df.Date)

df['new_col'] = df.groupby(df.Date.dt.day).apply(axmp).reset_index(drop=True)

输出


          Date         Open   High    Low   Close  Volume    new_col

0 2019-02-13 09:15:00  65.89  65.89  65.89  65.89   24339  65.890000

1 2019-02-13 09:30:00  66.00  66.00  66.00  66.00    1892  65.897934

2 2019-02-14 11:15:00  65.98  65.98  65.98  65.98    1937  65.980000

3 2019-02-14 11:30:00  65.95  66.01  65.95  66.01    5181  65.987279

4 2019-02-15 09:15:00  66.04  66.08  66.04  66.08    6189  66.066667


查看完整回答
反对 回复 2021-12-16
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信