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

11
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个回答

20

当我打印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
如果您想获取 "a" 和 "b"。

df.index.names

给出:

FrozenList(['a','b'])


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接