如何解决每隔5分钟对DataFrame进行分组
您可以用来df.resample
基于日期/时间变量进行汇总。您将需要一个datetime索引,并且可以在读取csv文件时指定该日期:
df = pd.read_csv("filename.csv", parse_dates = [["DATE", "TIME"]], index_col=0)
这将导致一个具有索引的数据框,其中日期和时间被组合在一起(源):
df.head()
Out[7]:
OPEN HIGH LOW CLOSE VOLUME
DATE_TIME
1997-02-03 09:04:00 3046.0 3048.5 3046.0 3047.5 505
1997-02-03 09:05:00 3047.0 3048.0 3046.0 3047.0 162
1997-02-03 09:06:00 3047.5 3048.0 3047.0 3047.5 98
1997-02-03 09:07:00 3047.5 3047.5 3047.0 3047.5 228
1997-02-03 09:08:00 3048.0 3048.0 3047.5 3048.0 136
之后,您可以使用重新采样来获取这五分钟间隔的总和,平均值等。
df.resample("5T").mean()
Out[8]:
OPEN HIGH LOW CLOSE VOLUME
DATE_TIME
1997-02-03 09:00:00 3046.0 3048.5 3046.0 3047.5 505.0
1997-02-03 09:05:00 3047.6 3047.9 3046.8 3047.3 159.6
1997-02-03 09:10:00 3045.6 3045.9 3044.8 3045.0 110.2
1997-02-03 09:15:00 3043.6 3044.0 3042.8 3043.2 69.2
1997-02-03 09:20:00 3044.7 3045.2 3044.5 3045.0 65.8
1997-02-03 09:25:00 3043.8 3044.0 3043.5 3043.7 59.0
1997-02-03 09:30:00 3044.6 3045.0 3044.3 3044.6 56.0
1997-02-03 09:35:00 3044.5 3044.5 3043.5 3044.5 44.0
( T 用于分钟频率。这是其他单位的列表。)
解决方法
如何使用csv从Python /
pandas中获取5分钟的数据?对于每5分钟间隔,我尝试获取该5分钟间隔的DATE,TIME,OPEN,HIGH,LOW,CLOSE,VOLUME。
DATE TIME OPEN HIGH LOW CLOSE VOLUME
02/03/1997 09:04:00 3046.00 3048.50 3046.00 3047.50 505
02/03/1997 09:05:00 3047.00 3048.00 3046.00 3047.00 162
02/03/1997 09:06:00 3047.50 3048.00 3047.00 3047.50 98
02/03/1997 09:07:00 3047.50 3047.50 3047.00 3047.50 228
02/03/1997 09:08:00 3048.00 3048.00 3047.50 3048.00 136
02/03/1997 09:09:00 3048.00 3048.00 3046.50 3046.50 174
02/03/1997 09:10:00 3046.50 3046.50 3045.00 3045.00 134
02/03/1997 09:11:00 3045.50 3046.00 3044.00 3045.00 43
02/03/1997 09:12:00 3045.00 3045.50 3045.00 3045.00 214
02/03/1997 09:13:00 3045.50 3045.50 3045.50 3045.50 8
02/03/1997 09:14:00 3045.50 3046.00 3044.50 3044.50 152
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。