DataReader或Yahoo数据本身都有些可疑:
start = datetime.datetime(2012,9,27)
end = datetime.datetime(2013,12,31)
n = 'GBPUSD=X'
us = web.DataReader(n, 'yahoo', start, end)
us.Close
Date
2012-09-25 1.619433
2012-09-26 1.617861
2012-09-27 1.623298
2012-09-30 1.612487
2012-10-01 1.612903
2012-10-02 1.613163
2012-10-03 1.610047
2012-10-04 1.618647
2012-10-07 1.613892
2012-10-08 1.603412
2012-10-09 1.599693
....
(2012-09-28周五在哪里?)
(2012-10-05周五在哪里?)
似乎数据已关闭。他们包括星期天但不包括星期五? 另外,我要求9月27日,但是将9月25日作为第一次约会?
发生了什么事? 有人有任何线索吗?
(似乎工作日在几周后又恢复了同步。我如何调整关闭的周数?)
答案 0 :(得分:0)
似乎这几周都是随机关闭的,雅虎的数据确实存在问题。
这是如何使用正确的数据和日期生成新数据框:
#generate a new range of dates
dates = p.bdate_range(p.to_datetime('2012-01-01', format='%Y-%m-%d'), periods=330)
#get the column names from the old data frame
colnames = db.columns.get_values()
coln = colnames.tolist()
#generate a new data frame with values and column names from the old data frame (db), the new dates (dates)
newdb = p.DataFrame(db.values, dates, columns=coln).set_index(dates)