pandas.MultiIndex¶
-
class
pandas.MultiIndex[source]¶ A multi-level, or hierarchical, index object for pandas objects.
Parameters: - levels : sequence of arrays
The unique labels for each level.
- codes : sequence of arrays
Integers for each level designating which label at each location.
New in version 0.24.0.
- labels : sequence of arrays
Integers for each level designating which label at each location.
Deprecated since version 0.24.0: Use
codesinstead- sortorder : optional int
Level of sortedness (must be lexicographically sorted by that level).
- names : optional sequence of objects
Names for each of the index levels. (name is accepted for compat).
- copy : bool, default False
Copy the meta-data.
- verify_integrity : bool, 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
MultiIndexis 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
namesNames of levels in MultiIndex nlevelsInteger number of levels in this MultiIndex. levshapeA tuple with the length of each level. levels codes 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(self, levels[, level, inplace, …])Set new levels on MultiIndex. set_codes(self, codes[, level, inplace, …])Set new codes on MultiIndex. to_frame(self[, index, name])Create a DataFrame with the levels of the MultiIndex as columns. to_flat_index(self)Convert a MultiIndex to an Index of Tuples containing the level values. is_lexsorted(self)Return True if the codes are lexicographically sorted sortlevel(self[, level, ascending, …])Sort MultiIndex at the requested level. droplevel(self[, level])Return index with requested level(s) removed. swaplevel(self[, i, j])Swap level i with level j. reorder_levels(self, order)Rearrange levels using input order. remove_unused_levels(self)Create a new MultiIndex from the current that removes unused levels, meaning that they are not expressed in the labels.