2014-03-19 34 views
1

我有一個熊貓數據框(BenchmarkData)在Python 3.3到2013年與通常每天從索引1996年,我將使用字符串訪問數據:無項目錯誤熊貓當項目肯定是存在的

BenchmarkData['2007-11-01'] 

但是,我現在正在收到'no item named 2007-11-01'錯誤。但是,如果我嘗試:

BenchmarkData['2007-10-30':'2007-11-3'] 

我可以清楚地看到價值,甚至是這個工程:

BenchmarkData['2007-11-01':'2007-11-01'] 

這個問題是不是唯一的日期2007-11-01,但是好像真所有日期。爲什麼我不能像過去那樣使用字符串來訪問這個值?

+0

什麼版本的熊貓? – Jeff

+0

請參閱與此相關的文檔:http://pandas.pydata.org/pandas-docs/stable/timeseries.html#partial-string-indexing,IIRC在我回憶之前,這並沒有改變。 – Jeff

+0

我正在使用熊貓0.12.0 – TimHussonSLCG

回答

3

另請參閱索引方法:http://pandas.pydata.org/pandas-docs/stable/indexing.html#basics。 當索引一個數據幀:

  • 單個標籤(df[label])選擇一列
  • 切片(df[start:stop])切片的行

在你的情況,BenchmarkData['2007-11-01':'2007-11-01']切片的行,所以這是好的,但BenchmarkData['2007-11-01']嘗試訪問不存在的列名'2007-11-01'。使用df.loc[label]從DataFrame中選擇單個行。

+0

是的!之前我只用一個字符串訪問它,因爲這個變量是TimeSeries。作爲一個DataFrame,它會尋找一個列而不是密鑰。 – TimHussonSLCG