# pandas.MultiIndex.set_codes

`MultiIndex.``set_codes`(codes, level=None, inplace=False, verify_integrity=True)

  Set new codes on MultiIndex. Defaults to returning new index.

  New in version 0.24.0: New name for deprecated method set_labels.

  Parameters:

  codes : sequence or list of sequence

  > new codes to apply

  level : int, level name, or sequence of int/level names (default None)

  > level(s) to set (None for all levels)

  inplace : bool

  > if True, mutates in place

  verify_integrity : bool (default True)

  > if True, checks that levels and codes are compatible

  Returns: | new index (of same type and class…etc)

  Examples

      >>> idx = pd.MultiIndex.from_tuples([(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'])

Scroll To Top