pandas.MultiIndex#
- class pandas.MultiIndex(levels=None, codes=None, sortorder=None, names=None, dtype=None, copy=False, name=None, verify_integrity=True)[source]#
A multi-level, or hierarchical, index object for pandas objects.
- Parameters:
- levelssequence of arrays
The unique labels for each level.
- codessequence of arrays
Integers for each level designating which label at each location.
- sortorderoptional int
Level of sortedness (must be lexicographically sorted by that level).
- namesoptional sequence of objects
Names for each of the index levels. (name is accepted for compat).
- dtypeNumpy dtype or pandas type, optional
Data type for the MultiIndex.
- copybool, default False
Copy the meta-data.
- nameLabel
Kept for compatibility with 1-dimensional Index. Should not be used.
- verify_integritybool, default True
Check that the levels/codes are consistent and valid.
See also
MultiIndex.from_arrays
Convert list of arrays to MultiIndex.
MultiIndex.from_product
Create a MultiIndex from the cartesian product of iterables.
MultiIndex.from_tuples
Convert list of tuples to a MultiIndex.
MultiIndex.from_frame
Make a MultiIndex from a DataFrame.
Index
The base pandas Index type.
Notes
See the user guide for more.
Examples
A new
MultiIndex
is typically constructed using one of the helper methodsMultiIndex.from_arrays()
,MultiIndex.from_product()
andMultiIndex.from_tuples()
. For example (using.from_arrays
):>>> arrays = [[1, 1, 2, 2], ["red", "blue", "red", "blue"]] >>> pd.MultiIndex.from_arrays(arrays, names=("number", "color")) MultiIndex([(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')], names=['number', 'color'])
See further examples for how to construct a MultiIndex in the doc strings of the mentioned helper methods.
Attributes
Names of levels in MultiIndex.
Levels of the MultiIndex.
Codes of the MultiIndex.
Integer number of levels in this MultiIndex.
A tuple with the length of each level.
Return the dtypes as a Series for the underlying MultiIndex.
Methods
from_arrays
(arrays[, sortorder, names])Convert arrays to MultiIndex.
from_tuples
(tuples[, sortorder, names])Convert list of tuples to MultiIndex.
from_product
(iterables[, sortorder, names])Make a MultiIndex from the cartesian product of multiple iterables.
from_frame
(df[, sortorder, names])Make a MultiIndex from a DataFrame.
set_levels
(levels, *[, level, verify_integrity])Set new levels on MultiIndex.
set_codes
(codes, *[, level, verify_integrity])Set new codes on MultiIndex.
to_frame
([index, name, allow_duplicates])Create a DataFrame with the levels of the MultiIndex as columns.
Convert a MultiIndex to an Index of Tuples containing the level values.
sortlevel
([level, ascending, ...])Sort MultiIndex at the requested level.
droplevel
([level])Return index with requested level(s) removed.
swaplevel
([i, j])Swap level i with level j.
reorder_levels
(order)Rearrange levels using input order.
Create new MultiIndex from current that removes unused levels.
get_level_values
(level)Return vector of label values for requested level.
get_indexer
(target[, method, limit, tolerance])Compute indexer and mask for new index given the current index.
get_loc
(key)Get location for a label or a tuple of labels.
get_locs
(seq)Get location for a sequence of labels.
get_loc_level
(key[, level, drop_level])Get location and sliced index for requested label(s)/level(s).
drop
(codes[, level, errors])Make a new
pandas.MultiIndex
with the passed list of codes deleted.