从多索引数据框中获取一个索引

如果我有一个多索引的数据框,如何仅在其中一个索引中获取信息?


如果我的df是这样的:


first  second

bar    one       0.469112

       two      -0.282863

baz    one      -1.509059

       two      -1.135632

foo    one       1.212112

       two      -0.173215

qux    one       0.119209

       two      -1.044236

我想要index中的值列表first。我习惯做这样的事情:


df.index.tolist()

返回:


['bar','baz','foo','qux']


慕神8447489
浏览 163回答 2
2回答

慕侠2389804

您可以使用pd.Index.get_level_values。这是一个演示:df = pd.DataFrame([['A', 'B', 1], ['A', 'C', 2], ['X', 'Y', 3], ['X', 'Z', '4']],                  columns=['idx1', 'idx2', 'value'])df = df.set_index(['idx1', 'idx2'])res = df.index.get_level_values(0).tolist()['A', 'A', 'X', 'X']

蓝山帝景

来自jpp的数据df.index.levels[0]Out[412]: Index(['A', 'X'], dtype='object', name='idx1')更新 :[x[0] for x in df.index.tolist()]Out[417]: ['A', 'A', 'X', 'X']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python