pandas.MultiIndex.set_levels#
- MultiIndex.set_levels(уровни, *, уровень=None, verify_integrity=True)[источник]#
Установить новые уровни на MultiIndex. По умолчанию возвращает новый индекс.
- Параметры:
- уровнипоследовательность или список последовательностей
Новый уровень(и) для применения.
- уровеньint, имя уровня или последовательность int/имен уровней (по умолчанию None)
Уровень(и) для установки (None для всех уровней).
- verify_integritybool, по умолчанию True
Если True, проверяет совместимость уровней и кодов.
- Возвращает:
- MultiIndex
Примеры
>>> 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]])