我的目标是将EURUSD data(每日)读入一个时间序列对象,我可以根据不规则时间帧轻松地对信息进行切片,聚合和重新采样。这很可能是一个简单的答案。我正在使用Python进行数据分析,但似乎无法缩小差距。
下载并解压缩data后,运行以下代码:
>>> import pandas as pd
>>> df = pd.read_csv('EURUSD_day.csv', parse_dates = {'Timestamp' : ['<DATE>', '<TIME>']}, index_col = 'Timestamp')
到目前为止一切顺利。我现在有一个很好的数据框,时间戳作为索引。
然而,本书暗示(第295页)我应该能够对数据进行子集化,如下所示,以查看2001年的所有数据。
>>> df['2001']
但是,这不起作用。
阅读此question and answer告诉我,我可以导入时间戳:
>>> from pandas.lib import Timestamp
>>> s = df['<CLOSE>']
这似乎适用于某一天:
>>> s[Timestamp('2001-01-04)]
0.9506999999
然而,以下代码为2001年所有数据的所需范围产生了一个值。
>>> s[Timestamp('2001')]
0.8959
我知道我遗漏了一些简单的东西,一些基本的东西。有人可以帮忙吗?
谢谢你, 布赖恩
答案 0 :(得分:4)
关于pg的例子。正在对Series对象执行295,这就是为什么使用年份进行索引的原因。使用DataFrame,您希望df.ix['2001']
获得相同的结果。
答案 1 :(得分:0)
如果您想获取所有列,请df.ix['2001']
。
如果您只对“关闭”感兴趣,因为您已经s = df['<CLOSE>']
,您可以按s['2001']