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

col*_*ang 8 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? 
Run Code Online (Sandbox Code Playgroud)

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

它鼓励我们使用set_index(drop=False)吗?

Wes*_*man 11

当我打印s时,我得到了

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

In [9]: s
Out[9]:  
c    13
Name: (3, 2), dtype: int64
Run Code Online (Sandbox Code Playgroud)

在名称部分有a和b,您可以访问:

s.name
Run Code Online (Sandbox Code Playgroud)

你可以做的其他事情是

df.index.values
Run Code Online (Sandbox Code Playgroud)

特别为你的iloc [1]

df.index.values[1]
Run Code Online (Sandbox Code Playgroud)

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