pandas.MultiIndex.set_codes#
- MultiIndex.set_codes(codes, *, level=None, inplace=None, verify_integrity=True)[source]#
Set new codes on MultiIndex. Defaults to returning new index.
- Parameters
- codessequence or list of sequence
New codes to apply.
- levelint, level name, or sequence of int/level names (default None)
Level(s) to set (None for all levels).
- inplacebool
If True, mutates in place.
Deprecated since version 1.2.0.
- verify_integritybool, default True
If True, checks that levels and codes are compatible.
- Returns
- new index (of same type and class…etc) or None
The same type as the caller or None if
inplace=True
.
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'])