我从pandas.datareader中提取数据,无法通过索引访问数据。下面是使用单个日期索引行生成数据框的代码:
import pandas as pd
from pandas_datareader import data
tdata = data.DataReader('SPY', 'iex', '2018-03-23', '2018-03-23')
现在,print(tdata)
按预期返回数据:
open high low close volume
date
2018-03-23 264.17 265.02 257.83 258.05 183534751
我可以使用print(tdata.index.values)
打印索引值,结果为:['2018-03-23']
但是,print(tdata['2018-03-23'])
会返回KeyError
尝试通过循环直接访问索引也会导致KeyError
for idx in tdata.index.values:
print(tdata[idx])
谁能告诉我这里缺少什么?
答案 0 :(得分:0)
当引用为df[id]
时,pandas决定[]
内的内容如下:
由于您有非int类型索引,请尝试tdata.loc['2018-03-23']
,因为这会使pandas将字符串解释为索引值。