猿问

从 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。如何才能做到这一点?


侃侃尔雅
浏览 514回答 2
2回答

SMILET

使用 get_level_valuesdf.index.get_level_values(level=1).tolist()Out[1040]: [4, 1, 4, 1, 4]要么 reset_indexdf.reset_index(level=1).B.tolist()Out[1041]: [4, 1, 4, 1, 4]

幕布斯6054654

此解决方案使用堆叠np.stack()和切片:np.stack(df.index.values, axis=0)[:,1]
随时随地看视频慕课网APP

相关分类

Python
我要回答