首页 > 解决方案 > pandas MultiIndex中的代码有什么用?

问题描述

如果您在https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.MultiIndex.html中看到 pandas MultiIndex 的定义,则有一个称为“代码”的参数。https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.MultiIndex.set_codes.html#pandas.MultiIndex.set_codes中记录了一个也称为 set_codes 的函数。我无法理解这些代码的一般目的是什么。任何人都可以使用示例进行演示。

标签: python-3.xpandasdataframeindexingmulti-index

解决方案


代码可以指定每个标签的位置。

例如:

pd.MultiIndex(levels =  [[1, 2], ['red', 'blue']], codes=[[1,0,1,0], [0,1,0,1]])

给出结果:

MultiIndex([(2,  'red'),
        (1, 'blue'),
        (2,  'red'),
        (1, 'blue')],
       )

而如果我们更改代码:

pd.MultiIndex(levels =  [[1, 2], ['red', 'blue']], codes=[[0,1,0,1], [1,0,1,0]])

那么结果是:

MultiIndex([(1, 'blue'),
        (2,  'red'),
        (1, 'blue'),
        (2,  'red')],
       )

推荐阅读