可以从元组列表创建Multiindex。我想知道如何做相反的事情吗?考虑以下多重索引:

MultiIndex(levels=[['N', 'R'], ['N', 'R', 'S'], ['N', 'R', 'S'], ['N', 'R', 'S'], ['N', 'R', 'S'], ['N', 'R', 'S'], ['R', 'S'], ['N', 'R', 'S']],
           labels=[[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 2, 2, 2, 2, 1, 0, 1, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 0, 2, 1, 1, 0, 2, 0, 2, 0, 1, 0, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 0, 0, 2, 0, 1, 0, 2, 2, 2, 0, 1, 1, 2, 1, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 1, 1, 1], [2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1], [0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 2, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 1, 2, 1], [0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]],
           names=['AMP', 'CZ', 'FOX', 'CRO', 'MER', 'GM', 'CIP', 'SXT'])

我想返回一个元组列表,我将使用它来通过DataFrame.loc[]进行选择,例如[('S', 'S', 'S', 'S', 'S', 'S', 'S, 'S'), ...]
我希望df.index.as_tuples()可以完成某件事,但不幸的是,这并不存在。

最佳答案

df.index.tolist()df.index.values都可以。

在 Pandas 大于等于0.24的情况下,您也可以使用df.index.to_numpy()

关于python - 返回Pandas multiindex作为元组列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53731432/

10-10 14:05