3

我的目标是(每天)将 EURUSD数据读入一个时间序列对象,我可以在其中轻松地根据不规则的时间框架对信息进行切片、聚合和重新采样。这很可能是一个简单的答案。我正在使用 Python 进行数据分析,但似乎无法弥合差距。

下载并解压缩数据后,我运行以下代码:

>>> import pandas as pd
>>> df = pd.read_csv('EURUSD_day.csv', parse_dates = {'Timestamp' : ['<DATE>', '<TIME>']}, index_col = 'Timestamp')

到现在为止还挺好。我现在有一个以时间戳为索引的漂亮数据框。

但是,这本书暗示(第 295 页)我应该能够对数据进行子集化,如下所示,以查看 2001 年的所有数据。

>>> df['2001']

但是,这是行不通的。

阅读这个问题和答案告诉我,我可以导入时间戳:

>>> from pandas.lib import Timestamp
>>> s = df['<CLOSE>']

这似乎适用于特定的一天:

>>> s[Timestamp('2001-01-04)]
0.9506999999

然而,以下代码为我想要的 2001 年所有数据范围产生了一个值。

>>> s[Timestamp('2001')]
0.8959

我知道我缺少一些简单的东西,一些基本的东西。任何人都可以帮忙吗?

谢谢你,布赖恩

4

2 回答 2

4

pg上的例子。295 正在 Series 对象上执行,这就是使用年份进行索引的原因。使用 DataFrame,您可能希望df.ix['2001']获得相同的结果。

于 2013-03-21T15:08:53.570 回答
0

如果要获取所有列,则df.ix['2001'].

如果您只对“CLOSE”感兴趣,因为您已经这样做了s = df['<CLOSE>'],您可以通过以下方式获得 2001 年的值s['2001']

于 2013-03-21T15:23:25.760 回答