为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕神8447489 2021-05-07 14:15:42
如果我有一个多索引的数据框,如何仅在其中一个索引中获取信息?如果我的df是这样的:first  secondbar    one       0.469112       two      -0.282863baz    one      -1.509059       two      -1.135632foo    one       1.212112       two      -0.173215qux    one       0.119209       two      -1.044236我想要index中的值列表first。我习惯做这样的事情:df.index.tolist()返回:['bar','baz','foo','qux']
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您可以使用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']


查看完整回答
反对 回复 2021-05-11
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

来自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']


查看完整回答
反对 回复 2021-05-11
  • 2 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信