Skip to content

Commit f5a093e

Browse files
jseaboldwesm
authored andcommitted
ENH: Allow to sort on index level by name
1 parent f0cb908 commit f5a093e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

pandas/core/index.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,8 @@ def sortlevel(self, level=0, ascending=True):
790790
791791
Parameters
792792
----------
793-
level : int, default 0
793+
level : int or str, default 0
794+
If a string is given, must be a name of the level
794795
ascending : boolean, default True
795796
False to sort in descending order
796797
@@ -799,8 +800,14 @@ def sortlevel(self, level=0, ascending=True):
799800
sorted_index : MultiIndex
800801
"""
801802
labels = list(self.labels)
803+
try:
804+
level = self.names.index(level)
805+
except:
806+
raise ValueError("level %s not in index names" % level)
807+
802808
primary = labels.pop(level)
803809

810+
804811
# Lexsort starts from END
805812
indexer = np.lexsort(tuple(labels[::-1]) + (primary,))
806813

0 commit comments

Comments
 (0)