Pandas当项目肯定存在时没有项目错误

时间:2014-03-19 14:03:31

标签: python-3.x pandas

我在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日期所独有,但对所有日期似乎都是如此。为什么我不能像过去那样使用字符串来访问此值?

1 个答案:

答案 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中选择一行。