採用多指標這是後續問題的回答這個問題:對數據幀
pandas performance issue - need help to optimize
以下建議工作:
df = DataFrame(np.arange(20).reshape(5,4))
df2 = df.set_index(keys=[0,1,2])
df2.ix[(4,5,6)]
了使用多指標
所以我創建了一個如下所示的文件sample_data.csv:
col1,col2,year,amount
111111,3.5,2012,700
111112,3.5,2011,600
222221,4.0,2012,222
...
我然後跑了以下內容:
import numpy as np
import pandas as pd
sd=pd.read_csv('sample_data.csv')
sd2=sd.set_index(keys=['col2','year'])
sd2.ix[(4.0,2012)]
但是,這會產生以下錯誤: IndexError:索引越界
任何想法,爲什麼它在前者的情況下而不是後者的? 這是錯誤的樣子:
IndexError Traceback (most recent call last)
<ipython-input-19-1d72a961db95> in <module>()
----> 1 sd2.ix[(4.0,2012)]
/Library/Python/2.7/site-packages/pandas-0.8.1-py2.7-macosx-10.7-intel.egg/pandas/core/indexing.pyc in __getitem__(self, key)
31 pass
32
---> 33 return self._getitem_tuple(key)
34 else:
35 return self._getitem_axis(key, axis=0)
對我來說你的代碼有效。你使用哪種版本的熊貓? – joris
它也適用於我(在Pd 10.0中)。如果您使用:pd.read_csv('sample_data.csv',index_col = ['col2','year']) –
pandas-0.8.1,也可以跳過set_index步驟。這是爲什麼它的失敗? – femibyte