如果我有一个多索引的数据框,如何仅在其中一个索引中获取信息?如果我的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']
蓝山帝景
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']
添加回答
举报
0/150
提交
取消