首页 > 解决方案 > 从 Pandas 数据框的 MultiIndex 中获取特定索引作为列表

问题描述

我想以列表形式获取 Pandas 数据框的特定索引MultiIndex

举个例子

import pandas as pd; import numpy as np
np.random.seed(42)
df = pd.DataFrame(np.random.randint(5, size=(5, 4)), columns=list('ABCD'))
df.set_index(['A', 'B'], inplace=True)

其中df定义为

     C  D
A B
3 4  2  4
4 1  2  2
2 4  3  2
4 1  3  1
3 4  0  3

我要提取

[4 1 4 1 4]

对应于第二个索引B。如何才能做到这一点?

标签: pythonpandasnumpydataframemulti-index

解决方案


使用get_level_values

df.index.get_level_values(level=1).tolist()
Out[1040]: [4, 1, 4, 1, 4]

或者reset_index

df.reset_index(level=1).B.tolist()
Out[1041]: [4, 1, 4, 1, 4]

推荐阅读