Skip to main content
`Ctrl`+`K`

# pandas.MultiIndex.from_product

classmethod MultiIndex.from_product(iterables, sortorder=None, names=<no_default>)

  Make a MultiIndex from the cartesian product of multiple iterables.

  Parameters:
    iterables list / sequence of iterables

      Each iterable has unique labels for each level of the index.

    sortorder int or None

      Level of sortedness (must be lexicographically sorted by that level).

    names list / sequence of str, optional

      Names for the levels in the index. If not explicitly provided, names will be inferred from the elements of iterables if an element has a name attribute.

  Returns:
    MultiIndex

  See also

  `MultiIndex.from_arrays`

    Convert list of arrays to MultiIndex.

  `MultiIndex.from_tuples`

    Convert list of tuples to MultiIndex.

  `MultiIndex.from_frame`

    Make a MultiIndex from a DataFrame.

  Examples

      >>> numbers = [0, 1, 2]
      >>> colors = ["green", "purple"]
      >>> pd.MultiIndex.from_product([numbers, colors], names=["number", "color"])
      MultiIndex([(0,  'green'),
                  (0, 'purple'),
                  (1,  'green'),
                  (1, 'purple'),
                  (2,  'green'),
                  (2, 'purple')],
                 names=['number', 'color'])