使用MultiIndex

时间:2015-06-17 23:33:32

标签: python pandas

我试图用MultiIndex重新索引Panel。最终目标是能够像这样切片:

wp.loc[(1,slice(None)),:,:] #Access the panel fixing the first index of the multiIndex

但每当我尝试重新索引时,就像在这个例子中我得到了这种奇怪的行为。

wp = pd.Panel(pd.randn(4, 5, 4), items=['Item_1_1', 'Item_1_2','Item_2_1','Item_2_2'],major_axis=['a','b','c','d','e'],minor_axis=['A', 'B', 'C', 'D'])
a=[tuple([int(i) for i in item.split('_')[1:]]) for item in wp.items]
swp=wp.reindex(items=x)

但是当我试图访问我得到的小组的一个项目时;

In [101]: swp[1,1]
Out[101]: 
    A   B   C   D
a NaN NaN NaN NaN
b NaN NaN NaN NaN
c NaN NaN NaN NaN
d NaN NaN NaN NaN
e NaN NaN NaN NaN

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的新索引是一个元组列表,因此每个项目现在都被编入索引(1,1),(1,2)等。为了访问该项目,我假设您尝试使用{{1}进行访问你必须简单地索引swp[1,1](即swp[(1,1)])。