pandas MultiIndex中的代码有啥用?

Posted

技术标签:

【中文标题】pandas MultiIndex中的代码有啥用?【英文标题】:What is the use of codes in pandas MultiIndex?pandas MultiIndex中的代码有什么用? 【发布时间】:2021-01-04 04:54:50 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

例如:

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')],
       )

【讨论】:

以上是关于pandas MultiIndex中的代码有啥用?的主要内容,如果未能解决你的问题,请参考以下文章

根据条件获取pandas multiindex中的索引值

spark中的lit()有啥用?下面的两段代码返回相同的输出,使用 lit() 有啥好处 [重复]

Pandas 对 DataFrame 中的列 MultiIndex 使用多行

Pandas - 将 DataFrame 值除以 MultiIndex DataFrame 中的系列

使用 multiindex 更改 pandas DataFrame 中的索引顺序

Pandas 将 CSV 中的 SingleIndex 合并到 MultiIndex