因此,我有一个包含分钟库存数据的csv文件,其代码如下所示:
d = pd.read_csv('/Volumes/Seagate Portable/usindex_2020_all_tickers_awvbxk9/SPX_2020_2020.txt')
d.columns = ['Dates', 'Open', 'High', 'Low', 'Close']
d.set_index('Dates', inplace=True)
d.drop(['High', 'Low'], axis=1, inplace=True)
d = d.between_time('9:30', '16:00')
因此,每个索引都有年,日,月和时间。我要使用的是日期,以索引当天的第一个和最后一个报价(在9:30和4:00之间)。
输出如下:
Open Close
Dates
2020-01-02 09:31:00 3247.19 3245.22
2020-01-02 09:32:00 3245.07 3244.66
2020-01-02 09:33:00 3244.89 3247.61
2020-01-02 09:34:00 3247.38 3246.92
2020-01-02 09:35:00 3246.89 3249.09
... ... ...
2020-12-24 13:17:00 3703.06 3703.06
2020-12-24 13:18:00 3703.06 3703.06
2020-12-24 13:19:00 3703.06 3703.06
2020-12-24 13:20:00 3703.06 3703.06
2020-12-24 14:22:00 3703.06 3703.06
如代码所示,第一个和最后一个价格并不总是9:30和4:00,因此Im试图找到一种方法来只索引第一个和最后一个价格,无论何时。
使用groupby:
d = d.between_time('9:30', '16:00')
d.groupby(pd.Grouper(freq='D')).agg({'Open':'first', 'Close':'last'})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句