pandas.MultiIndex.set_codes#

MultiIndex.set_codes(codes, *, level=None, verify_integrity=True)[源代码]#

在 MultiIndex 上设置新的编码。默认为返回新索引。

Parameters:
codes序列或序列列表

要应用的新的编码。

level整数、级别名称或整数/级别名称的序列(默认为 None)

要设置的级别(None 表示所有级别)。

verify_integritybool, default True

如果为 True,则检查级别和编码是否兼容。

Returns:
新的索引(相同类型和类…等)或 None

与调用者相同的类型,或在 inplace=True 时为 None。

Examples

>>> idx = pd.MultiIndex.from_tuples(
...     [(1, "one"), (1, "two"), (2, "one"), (2, "two")], names=["foo", "bar"]
... )
>>> idx
MultiIndex([(1, 'one'),
    (1, 'two'),
    (2, 'one'),
    (2, 'two')],
   names=['foo', 'bar'])
>>> idx.set_codes([[1, 0, 1, 0], [0, 0, 1, 1]])
MultiIndex([(2, 'one'),
            (1, 'one'),
            (2, 'two'),
            (1, 'two')],
           names=['foo', 'bar'])
>>> idx.set_codes([1, 0, 1, 0], level=0)
MultiIndex([(2, 'one'),
            (1, 'two'),
            (2, 'one'),
            (1, 'two')],
           names=['foo', 'bar'])
>>> idx.set_codes([0, 0, 1, 1], level='bar')
MultiIndex([(1, 'one'),
            (1, 'one'),
            (2, 'two'),
            (2, 'two')],
           names=['foo', 'bar'])
>>> idx.set_codes([[1, 0, 1, 0], [0, 0, 1, 1]], level=[0, 1])
MultiIndex([(2, 'one'),
            (1, 'one'),
            (2, 'two'),
            (1, 'two')],
           names=['foo', 'bar'])