@@ -893,13 +893,31 @@ def set_levels(self, levels, level=None, inplace=None, verify_integrity=True):
893893 def nlevels (self ) -> int :
894894 """
895895 Integer number of levels in this MultiIndex.
896+
897+ Examples
898+ --------
899+ >>> mi = pd.MultiIndex.from_arrays([['a'], ['b'], ['c']])
900+ >>> mi
901+ MultiIndex([('a', 'b', 'c')],
902+ )
903+ >>> mi.nlevels
904+ 3
896905 """
897906 return len (self ._levels )
898907
899908 @property
900909 def levshape (self ):
901910 """
902911 A tuple with the length of each level.
912+
913+ Examples
914+ --------
915+ >>> mi = pd.MultiIndex.from_arrays([['a'], ['b'], ['c']])
916+ >>> mi
917+ MultiIndex([('a', 'b', 'c')],
918+ )
919+ >>> mi.levshape
920+ (1, 1, 1)
903921 """
904922 return tuple (len (x ) for x in self .levels )
905923
@@ -1436,7 +1454,22 @@ def _set_names(self, names, level=None, validate=True):
14361454 self ._reset_cache ()
14371455
14381456 names = property (
1439- fset = _set_names , fget = _get_names , doc = """\n Names of levels in MultiIndex.\n """
1457+ fset = _set_names ,
1458+ fget = _get_names ,
1459+ doc = """
1460+ Names of levels in MultiIndex.
1461+
1462+ Examples
1463+ --------
1464+ >>> mi = pd.MultiIndex.from_arrays(
1465+ ... [[1, 2], [3, 4], [5, 6]], names=['x', 'y', 'z'])
1466+ >>> mi
1467+ MultiIndex([(1, 3, 5),
1468+ (2, 4, 6)],
1469+ names=['x', 'y', 'z'])
1470+ >>> mi.names
1471+ FrozenList(['x', 'y', 'z'])
1472+ """ ,
14401473 )
14411474
14421475 # --------------------------------------------------------------------
@@ -1680,6 +1713,32 @@ def to_frame(self, index=True, name=None):
16801713 --------
16811714 DataFrame : Two-dimensional, size-mutable, potentially heterogeneous
16821715 tabular data.
1716+
1717+ Examples
1718+ --------
1719+ >>> mi = pd.MultiIndex.from_arrays([['a', 'b'], ['c', 'd']])
1720+ >>> mi
1721+ MultiIndex([('a', 'c'),
1722+ ('b', 'd')],
1723+ )
1724+
1725+ >>> df = mi.to_frame()
1726+ >>> df
1727+ 0 1
1728+ a c a c
1729+ b d b d
1730+
1731+ >>> df = mi.to_frame(index=False)
1732+ >>> df
1733+ 0 1
1734+ 0 a c
1735+ 1 b d
1736+
1737+ >>> df = mi.to_frame(name=['x', 'y'])
1738+ >>> df
1739+ x y
1740+ a c a c
1741+ b d b d
16831742 """
16841743 from pandas import DataFrame
16851744
@@ -2217,6 +2276,24 @@ def reorder_levels(self, order):
22172276 Returns
22182277 -------
22192278 MultiIndex
2279+
2280+ Examples
2281+ --------
2282+ >>> mi = pd.MultiIndex.from_arrays([[1, 2], [3, 4]], names=['x', 'y'])
2283+ >>> mi
2284+ MultiIndex([(1, 3),
2285+ (2, 4)],
2286+ names=['x', 'y'])
2287+
2288+ >>> mi.reorder_levels(order=[1, 0])
2289+ MultiIndex([(3, 1),
2290+ (4, 2)],
2291+ names=['y', 'x'])
2292+
2293+ >>> mi.reorder_levels(order=['y', 'x'])
2294+ MultiIndex([(3, 1),
2295+ (4, 2)],
2296+ names=['y', 'x'])
22202297 """
22212298 order = [self ._get_level_number (i ) for i in order ]
22222299 if len (order ) != self .nlevels :
@@ -2275,6 +2352,34 @@ def sortlevel(self, level=0, ascending=True, sort_remaining=True):
22752352 Resulting index.
22762353 indexer : np.ndarray
22772354 Indices of output values in original index.
2355+
2356+ Examples
2357+ --------
2358+ >>> mi = pd.MultiIndex.from_arrays([[0, 0], [2, 1]])
2359+ >>> mi
2360+ MultiIndex([(0, 2),
2361+ (0, 1)],
2362+ )
2363+
2364+ >>> mi.sortlevel()
2365+ (MultiIndex([(0, 1),
2366+ (0, 2)],
2367+ ), array([1, 0]))
2368+
2369+ >>> mi.sortlevel(sort_remaining=False)
2370+ (MultiIndex([(0, 2),
2371+ (0, 1)],
2372+ ), array([0, 1]))
2373+
2374+ >>> mi.sortlevel(1)
2375+ (MultiIndex([(0, 1),
2376+ (0, 2)],
2377+ ), array([1, 0]))
2378+
2379+ >>> mi.sortlevel(1, ascending=False)
2380+ (MultiIndex([(0, 2),
2381+ (0, 1)],
2382+ ), array([0, 1]))
22782383 """
22792384 if isinstance (level , (str , int )):
22802385 level = [level ]
0 commit comments