@@ -684,7 +684,7 @@ def is_monotonic_increasing(self):
684
684
"""
685
685
686
686
# reversed() because lexsort() wants the most significant key last.
687
- values = [self ._get_level_values (i )
687
+ values = [self ._get_level_values (i ). values
688
688
for i in reversed (range (len (self .levels )))]
689
689
try :
690
690
sort_order = np .lexsort (values )
@@ -866,7 +866,8 @@ def _get_level_values(self, level):
866
866
labels = self .labels [level ]
867
867
filled = algos .take_1d (unique ._values , labels ,
868
868
fill_value = unique ._na_value )
869
- return filled
869
+ values = unique ._shallow_copy (filled )
870
+ return values
870
871
871
872
def get_level_values (self , level ):
872
873
"""
@@ -883,7 +884,7 @@ def get_level_values(self, level):
883
884
"""
884
885
level = self ._get_level_number (level )
885
886
values = self ._get_level_values (level )
886
- return self . levels [ level ]. _shallow_copy ( values )
887
+ return values
887
888
888
889
def format (self , space = 2 , sparsify = None , adjoin = True , names = False ,
889
890
na_rep = None , formatter = None ):
@@ -966,7 +967,8 @@ def to_frame(self, index=True):
966
967
"""
967
968
968
969
from pandas import DataFrame
969
- result = DataFrame ({(name or level ): self .get_level_values (level )
970
+ result = DataFrame ({(name or level ):
971
+ self ._get_level_values (level )
970
972
for name , level in
971
973
zip (self .names , range (len (self .levels )))},
972
974
copy = False )
@@ -1301,8 +1303,8 @@ def append(self, other):
1301
1303
for o in other ):
1302
1304
arrays = []
1303
1305
for i in range (self .nlevels ):
1304
- label = self .get_level_values (i )
1305
- appended = [o .get_level_values (i ) for o in other ]
1306
+ label = self ._get_level_values (i )
1307
+ appended = [o ._get_level_values (i ) for o in other ]
1306
1308
arrays .append (label .append (appended ))
1307
1309
return MultiIndex .from_arrays (arrays , names = self .names )
1308
1310
0 commit comments