當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。