MultiIndex のインデックス列から一意の値を取得する 質問する

MultiIndex のインデックス列から一意の値を取得する 質問する

インデックスをリセットすることで一意の値を取得できることはわかっていますDataFrameが、この手順を回避して一意の値を直接取得する方法はありますか?

私が持っているもの:

        C
 A B     
 0 one  3
 1 one  2
 2 two  1

できます:

df = df.reset_index()
uniq_b = df.B.unique()
df = df.set_index(['A','B'])

パンダに組み込まれたこれを行う方法はありますか?

ベストアンサー1

一つの方法はindex.levels:

In [11]: df
Out[11]: 
       C
A B     
0 one  3
1 one  2
2 two  1

In [12]: df.index.levels[1]
Out[12]: Index([one, two], dtype=object)

おすすめ記事