pandas.MultiIndex.from_product

classmethod MultiIndex.from_product(iterables, sortorder=None, names=NoDefault.no_default)[source]

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.

Changed in version 1.0.0: 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'])

© 2008–2021, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.3.4/reference/api/pandas.MultiIndex.from_product.html