同理,.bfill()代表用后值对空值进行填充,效果如下。
- df_daily = df_weekly.resample('D').bfill()
- df_daily
- Out[55]:
- open high low close vol
- trade_date
- 2018-07-08 9.05 9.05 8.45 8.66 5125563.53
- 2018-07-09 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-10 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-11 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-12 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-13 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-14 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-15 8.69 9.03 8.58 8.88 4901983.84
- 2018-07-16 8.85 8.90 8.66 8.70 1590354.68
- 2018-07-17 8.85 8.90 8.66 8.70 1590354.68
- 2018-07-18 8.85 8.90 8.66 8.70 1590354.68
- 2018-07-19 8.85 8.90 8.66 8.70 1590354.68
- 2018-07-20 8.85 8.90 8.66 8.70 1590354.68
- 2018-07-21 8.85 8.90 8.66 8.70 1590354.68
- 2018-07-22 8.85 8.90 8.66 8.70 1590354.68
03、时间窗口函数
当我们想要比较数据在相同时间窗口的不同特征和变化时,可以借助窗口函数rolling【6】进行计算。
看一个实例:计算股票收盘价的移动平均值。
- df = df[['ts_code', 'close']]
- df
- Out[58]:
- ts_code close
- trade_date
- 2018-07-02 000001.SZ 8.61
- 2018-07-03 000001.SZ 8.67
- 2018-07-04 000001.SZ 8.61
- 2018-07-05 000001.SZ 8.60
- 2018-07-06 000001.SZ 8.66
- 2018-07-09 000001.SZ 9.03
- 2018-07-10 000001.SZ 8.98
- 2018-07-11 000001.SZ 8.78
- 2018-07-12 000001.SZ 8.88
- 2018-07-13 000001.SZ 8.88
- 2018-07-16 000001.SZ 8.73
- 2018-07-17 000001.SZ 8.72
- 2018-07-18 000001.SZ 8.70
调用rolling函数,通过设置参数window的值规定窗口大小,这里设置为3,并且调用.mean()方法计算窗口期为3天的均值,结果如下。
其中,'20180704'当天的平均值等于'20180702'-'20180704'三天的收盘价取平均的结果,'20180705'当天的平均值等于'20180703'-'20180705'三天的收盘价取平均的结果,以此类推。
- df['MA3'] = df['close'].rolling(3).mean()
- df
- Out[76]:
- ts_code close MA3
- trade_date
- 2018-07-02 000001.SZ 8.61 NaN
- 2018-07-03 000001.SZ 8.67 NaN
- 2018-07-04 000001.SZ 8.61 8.630000
- 2018-07-05 000001.SZ 8.60 8.626667
- 2018-07-06 000001.SZ 8.66 8.623333
- 2018-07-09 000001.SZ 9.03 8.763333
- 2018-07-10 000001.SZ 8.98 8.890000
- 2018-07-11 000001.SZ 8.78 8.930000
- 2018-07-12 000001.SZ 8.88 8.880000
- 2018-07-13 000001.SZ 8.88 8.846667
- 2018-07-16 000001.SZ 8.73 8.830000
- 2018-07-17 000001.SZ 8.72 8.776667
- 2018-07-18 000001.SZ 8.70 8.716667
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|