用pandas将csv文件中的数据读入时间序列

2024-05-12 20:44:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是将EURUSDdata(daily)读入一个时间序列对象,在该对象中,我可以根据不规则的ish时间帧轻松地对信息进行切片、切分、聚合和重采样。这很可能是一个简单的答案。我正在使用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

我知道我错过了一些简单的,基本的东西。有人能帮忙吗?

谢谢你, 布赖恩


Tags: csv数据对象代码import目标pandasdf
2条回答

第295页上的例子是在Series对象上执行的,这就是为什么索引年份有效的原因。对于数据帧,您希望df.ix['2001']获得相同的结果。

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

如果您只对“CLOSE”感兴趣,因为您已经做了s = df['<CLOSE>'],那么可以通过s['2001']获得2001值

相关问题 更多 >