如何获取pandas MultiIndex数据框中的索引值?

时间:2014-02-25 13:15:46

标签: python pandas

df = pd.DataFrame({'a':[2,3,5], 'b':[1,2,3], 'c':[12,13,14]})
df.set_index(['a','b'], inplace=True)
display(df)
s = df.iloc[1]
# How to get 'a' and 'b' value from s? 

令人讨厌的是,哪些列成为索引,我们不能简单地使用df ['colname']来获取值。

是否鼓励我们使用set_index(drop=False)

2 个答案:

答案 0 :(得分:10)

当我打印s时,我得到了

In [8]: s = df.iloc[1]

In [9]: s
Out[9]:  
c    13
Name: (3, 2), dtype: int64

在名称部分中有a和b,您可以使用以下方式访问:

s.name

你可以做的其他事情是

df.index.values

,特别是你的iloc [1]

df.index.values[1]

这有帮助吗?除此之外,我不确定你在寻找什么。

答案 1 :(得分:0)

如果您想获得“ a”和“ b”

df.index.names

给出: FrozenList(['a','b'])