【发布时间】:2017-01-18 04:50:41
【问题描述】:
这里是 Python 新手,但我有一些数据是日内财务数据,可以追溯到 2012 年,所以每天都有相同的时间(每天相同的交易时段),但日期不同。我希望能够从数据中选择某些时间并检查该时间段的相应 OHLC 数据,然后对其进行一些分析。
所以目前它是一个 CSV 文件,我正在做:
import pandas as pd
data = pd.DataFrame.read_csv('data.csv')
date = data['date']
op = data['open']
high = data['high']
low = data['low']
close = data['close']
volume = data['volume']
问题是日期列的格式为“dd/mm/yyyy 00:00:00”作为一个字符串或其他格式,因此仍然可以在某个时间之间进行选择,例如“09: 00:00”和“10:00:00”?还是我必须将该时间位与日期分开并使其成为自己的列?如果是这样,怎么做?
所以我相信 pandas 有一个between_time() 函数,但这似乎需要一个 DataFrame,所以我怎样才能将它转换为 DataFrame,然后我应该能够使用 between_time 函数在我想要的时间之间进行选择。也因为显然有数千天,都有自己的“xx:xx:xx”到“xx:xx:xx”我想从每一天中提取我想要查看的同一时间段,而不仅仅是第一批“xx:xx:xx”到“xx:xx:xx”,因为它会沿着数据向下移动,如果这有意义的话。谢谢!!
【问题讨论】:
-
其实日期格式是yyyy-mm-dd。我认为这是使它无法正常工作的原因。我已经完成了 parse_dates=True 和 index_col=0 作为 read_csv() 的参数,但是当我尝试打印 df.head() 时它给了我一个 KeyError: 'date'。
-
我真正想要实现的是在我想要的时间段(07:00:00 - 08:00:00)内计算我所有数据的每一天的范围(高 - 低)。谁能帮忙?谢谢!
标签: python pandas time financial