当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python pandas.MultiIndex.set_levels用法及代码示例

用法:

MultiIndex.set_levels(levels, level=None, inplace=None, verify_integrity=True)

在 MultiIndex 上设置新级别。默认返回新索引。

参数

levels序列或序列列表

要应用的新级别。

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

要设置的级别(所有级别都没有)。

inplacebool

如果为 True,则原地变异。

verify_integrity布尔值,默认为真

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

返回

新索引(相同类型和类别...等)或无

与调用者相同的类型,如果 inplace=True 则为 None。

例子

>>> idx = pd.MultiIndex.from_tuples(
...     [
...         (1, "one"),
...         (1, "two"),
...         (2, "one"),
...         (2, "two"),
...         (3, "one"),
...         (3, "two")
...     ],
...     names=["foo", "bar"]
... )
>>> idx
MultiIndex([(1, 'one'),
    (1, 'two'),
    (2, 'one'),
    (2, 'two'),
    (3, 'one'),
    (3, 'two')],
   names=['foo', 'bar'])
>>> idx.set_levels([['a', 'b', 'c'], [1, 2]])
MultiIndex([('a', 1),
            ('a', 2),
            ('b', 1),
            ('b', 2),
            ('c', 1),
            ('c', 2)],
           names=['foo', 'bar'])
>>> idx.set_levels(['a', 'b', 'c'], level=0)
MultiIndex([('a', 'one'),
            ('a', 'two'),
            ('b', 'one'),
            ('b', 'two'),
            ('c', 'one'),
            ('c', 'two')],
           names=['foo', 'bar'])
>>> idx.set_levels(['a', 'b'], level='bar')
MultiIndex([(1, 'a'),
            (1, 'b'),
            (2, 'a'),
            (2, 'b'),
            (3, 'a'),
            (3, 'b')],
           names=['foo', 'bar'])

如果传递给 set_levels() 的任何级别超过现有长度,则该参数的所有值都将存储在 MultiIndex 级别中,尽管这些值将在 MultiIndex 输出中被截断。

>>> idx.set_levels([['a', 'b', 'c'], [1, 2, 3, 4]], level=[0, 1])
MultiIndex([('a', 1),
    ('a', 2),
    ('b', 1),
    ('b', 2),
    ('c', 1),
    ('c', 2)],
   names=['foo', 'bar'])
>>> idx.set_levels([['a', 'b', 'c'], [1, 2, 3, 4]], level=[0, 1]).levels
FrozenList([['a', 'b', 'c'], [1, 2, 3, 4]])

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.MultiIndex.set_levels。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。