我在Python 3.3中有一个Pandas数据帧(BenchmarkData),从1996年到2013年每天都有索引。通常,我将使用字符串访问数据:
BenchmarkData['2007-11-01']
但是,我现在收到“没有名为2007-11-01的项目”错误。但是,如果我尝试:
BenchmarkData['2007-10-30':'2007-11-3']
我可以清楚地看到这个价值,甚至可以这样做:
BenchmarkData['2007-11-01':'2007-11-01']
此问题并非2007-11-01日期所独有,但对所有日期似乎都是如此。为什么我不能像过去那样使用字符串来访问此值?
答案 0 :(得分:3)
另请参阅索引方法:http://pandas.pydata.org/pandas-docs/stable/indexing.html#basics。 索引DataFrame时:
df[label]
)选择一列df[start:stop]
)切片行在您的情况下,BenchmarkData['2007-11-01':'2007-11-01']
会对行进行切片,因此可以,但BenchmarkData['2007-11-01']
会尝试访问列名称' 2007-11-01'哪个不存在。
使用df.loc[label]
从DataFrame中选择一行。