@classmethod<EOL><INDENT>def from_arrays(cls, arrays, sortorder=None, names=None):<DEDENT>
error_msg = "<STR_LIT>"<EOL>if not is_list_like(arrays):<EOL><INDENT>raise TypeError(error_msg)<EOL><DEDENT>elif is_iterator(arrays):<EOL><INDENT>arrays = list(arrays)<EOL><DEDENT>for array in arrays:<EOL><INDENT>if not is_list_like(array):<EOL><INDENT>raise TypeError(error_msg)<EOL><DEDENT><DEDENT>for i in range(<NUM_LIT:1>, len(arrays)):<EOL><INDENT>if len(arrays[i]) != len(arrays[i - <NUM_LIT:1>]):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT><DEDENT>from pandas.core.arrays.categorical import _factorize_from_iterables<EOL>codes, levels = _factorize_from_iterables(arrays)<EOL>if names is None:<EOL><INDENT>names = [getattr(arr, "<STR_LIT:name>", None) for arr in arrays]<EOL><DEDENT>return MultiIndex(levels=levels, codes=codes, sortorder=sortorder,<EOL>names=names, verify_integrity=False)<EOL>
Convert arrays to MultiIndex.

Parameters
----------
arrays : list / sequence of array-likes
    Each array-like gives one level's value for each data point.
    len(arrays) is the number of levels.
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.

Returns
-------
index : MultiIndex

See Also
--------
MultiIndex.from_tuples : Convert list of tuples to MultiIndex.
MultiIndex.from_product : Make a MultiIndex from cartesian product
                          of iterables.
MultiIndex.from_frame : Make a MultiIndex from a DataFrame.

Examples
--------
>>> arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
>>> pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))
MultiIndex(levels=[[1, 2], ['blue', 'red']],
           codes=[[0, 0, 1, 1], [1, 0, 1, 0]],
           names=['number', 'color'])