@@ -190,8 +190,8 @@ class MultiIndex(Index):
190
190
>>> arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
191
191
>>> pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))
192
192
MultiIndex(levels=[[1, 2], ['blue', 'red']],
193
- labels =[[0, 0, 1, 1], [1, 0, 1, 0]],
194
- names=['number', 'color'])
193
+ codes =[[0, 0, 1, 1], [1, 0, 1, 0]],
194
+ names=['number', 'color'])
195
195
196
196
See further examples for how to construct a MultiIndex in the doc strings
197
197
of the mentioned helper methods.
@@ -321,7 +321,7 @@ def from_arrays(cls, arrays, sortorder=None, names=None):
321
321
>>> arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
322
322
>>> pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))
323
323
MultiIndex(levels=[[1, 2], ['blue', 'red']],
324
- labels =[[0, 0, 1, 1], [1, 0, 1, 0]],
324
+ codes =[[0, 0, 1, 1], [1, 0, 1, 0]],
325
325
names=['number', 'color'])
326
326
"""
327
327
if not is_list_like (arrays ):
@@ -376,7 +376,7 @@ def from_tuples(cls, tuples, sortorder=None, names=None):
376
376
... (2, u'red'), (2, u'blue')]
377
377
>>> pd.MultiIndex.from_tuples(tuples, names=('number', 'color'))
378
378
MultiIndex(levels=[[1, 2], ['blue', 'red']],
379
- labels =[[0, 0, 1, 1], [1, 0, 1, 0]],
379
+ codes =[[0, 0, 1, 1], [1, 0, 1, 0]],
380
380
names=['number', 'color'])
381
381
"""
382
382
if not is_list_like (tuples ):
@@ -433,7 +433,7 @@ def from_product(cls, iterables, sortorder=None, names=None):
433
433
>>> pd.MultiIndex.from_product([numbers, colors],
434
434
... names=['number', 'color'])
435
435
MultiIndex(levels=[[0, 1, 2], ['green', 'purple']],
436
- labels =[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]],
436
+ codes =[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]],
437
437
names=['number', 'color'])
438
438
"""
439
439
from pandas .core .arrays .categorical import _factorize_from_iterables
@@ -493,14 +493,14 @@ def from_frame(cls, df, sortorder=None, names=None):
493
493
494
494
>>> pd.MultiIndex.from_frame(df)
495
495
MultiIndex(levels=[['HI', 'NJ'], ['Precip', 'Temp']],
496
- labels =[[0, 0, 1, 1], [1, 0, 1, 0]],
496
+ codes =[[0, 0, 1, 1], [1, 0, 1, 0]],
497
497
names=['a', 'b'])
498
498
499
499
Using explicit names, instead of the column names
500
500
501
501
>>> pd.MultiIndex.from_frame(df, names=['state', 'observation'])
502
502
MultiIndex(levels=[['HI', 'NJ'], ['Precip', 'Temp']],
503
- labels =[[0, 0, 1, 1], [1, 0, 1, 0]],
503
+ codes =[[0, 0, 1, 1], [1, 0, 1, 0]],
504
504
names=['state', 'observation'])
505
505
"""
506
506
if not isinstance (df , ABCDataFrame ):
@@ -619,19 +619,19 @@ def set_levels(self, levels, level=None, inplace=False,
619
619
names=['foo', 'bar'])
620
620
>>> idx.set_levels([['a','b'], [1,2]])
621
621
MultiIndex(levels=[[u'a', u'b'], [1, 2]],
622
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]],
622
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]],
623
623
names=[u'foo', u'bar'])
624
624
>>> idx.set_levels(['a','b'], level=0)
625
625
MultiIndex(levels=[[u'a', u'b'], [u'one', u'two']],
626
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]],
626
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]],
627
627
names=[u'foo', u'bar'])
628
628
>>> idx.set_levels(['a','b'], level='bar')
629
629
MultiIndex(levels=[[1, 2], [u'a', u'b']],
630
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]],
630
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]],
631
631
names=[u'foo', u'bar'])
632
632
>>> idx.set_levels([['a','b'], [1,2]], level=[0,1])
633
633
MultiIndex(levels=[[u'a', u'b'], [1, 2]],
634
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]],
634
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]],
635
635
names=[u'foo', u'bar'])
636
636
"""
637
637
if is_list_like (levels ) and not isinstance (levels , Index ):
@@ -738,19 +738,19 @@ def set_codes(self, codes, level=None, inplace=False,
738
738
names=['foo', 'bar'])
739
739
>>> idx.set_codes([[1,0,1,0], [0,0,1,1]])
740
740
MultiIndex(levels=[[1, 2], [u'one', u'two']],
741
- labels =[[1, 0, 1, 0], [0, 0, 1, 1]],
741
+ codes =[[1, 0, 1, 0], [0, 0, 1, 1]],
742
742
names=[u'foo', u'bar'])
743
743
>>> idx.set_codes([1,0,1,0], level=0)
744
744
MultiIndex(levels=[[1, 2], [u'one', u'two']],
745
- labels =[[1, 0, 1, 0], [0, 1, 0, 1]],
745
+ codes =[[1, 0, 1, 0], [0, 1, 0, 1]],
746
746
names=[u'foo', u'bar'])
747
747
>>> idx.set_codes([0,0,1,1], level='bar')
748
748
MultiIndex(levels=[[1, 2], [u'one', u'two']],
749
- labels =[[0, 0, 1, 1], [0, 0, 1, 1]],
749
+ codes =[[0, 0, 1, 1], [0, 0, 1, 1]],
750
750
names=[u'foo', u'bar'])
751
751
>>> idx.set_codes([[1,0,1,0], [0,0,1,1]], level=[0,1])
752
752
MultiIndex(levels=[[1, 2], [u'one', u'two']],
753
- labels =[[1, 0, 1, 0], [0, 0, 1, 1]],
753
+ codes =[[1, 0, 1, 0], [0, 0, 1, 1]],
754
754
names=[u'foo', u'bar'])
755
755
"""
756
756
if level is not None and not is_list_like (level ):
@@ -909,8 +909,8 @@ def _format_attrs(self):
909
909
attrs = [
910
910
('levels' , ibase .default_pprint (self ._levels ,
911
911
max_seq_items = False )),
912
- ('labels ' , ibase .default_pprint (self ._codes ,
913
- max_seq_items = False ))]
912
+ ('codes ' , ibase .default_pprint (self ._codes ,
913
+ max_seq_items = False ))]
914
914
if com ._any_not_none (* self .names ):
915
915
attrs .append (('names' , ibase .default_pprint (self .names )))
916
916
if self .sortorder is not None :
@@ -1509,8 +1509,8 @@ def to_hierarchical(self, n_repeat, n_shuffle=1):
1509
1509
(2, u'one'), (2, u'two')])
1510
1510
>>> idx.to_hierarchical(3)
1511
1511
MultiIndex(levels=[[1, 2], [u'one', u'two']],
1512
- labels =[[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],
1513
- [0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1]])
1512
+ codes =[[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],
1513
+ [0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1]])
1514
1514
"""
1515
1515
levels = self .levels
1516
1516
codes = [np .repeat (level_codes , n_repeat ) for
@@ -1601,11 +1601,11 @@ def _sort_levels_monotonic(self):
1601
1601
codes=[[0, 0, 1, 1], [0, 1, 0, 1]])
1602
1602
>>> i
1603
1603
MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
1604
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]])
1604
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]])
1605
1605
1606
1606
>>> i.sort_monotonic()
1607
1607
MultiIndex(levels=[['a', 'b'], ['aa', 'bb']],
1608
- labels =[[0, 0, 1, 1], [1, 0, 1, 0]])
1608
+ codes =[[0, 0, 1, 1], [1, 0, 1, 0]])
1609
1609
1610
1610
"""
1611
1611
@@ -1657,18 +1657,18 @@ def remove_unused_levels(self):
1657
1657
--------
1658
1658
>>> i = pd.MultiIndex.from_product([range(2), list('ab')])
1659
1659
MultiIndex(levels=[[0, 1], ['a', 'b']],
1660
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]])
1660
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]])
1661
1661
1662
1662
>>> i[2:]
1663
1663
MultiIndex(levels=[[0, 1], ['a', 'b']],
1664
- labels =[[1, 1], [0, 1]])
1664
+ codes =[[1, 1], [0, 1]])
1665
1665
1666
1666
The 0 from the first level is not represented
1667
1667
and can be removed
1668
1668
1669
1669
>>> i[2:].remove_unused_levels()
1670
1670
MultiIndex(levels=[[1], ['a', 'b']],
1671
- labels =[[0, 0], [0, 1]])
1671
+ codes =[[0, 0], [0, 1]])
1672
1672
"""
1673
1673
1674
1674
new_levels = []
@@ -1975,10 +1975,10 @@ def swaplevel(self, i=-2, j=-1):
1975
1975
... codes=[[0, 0, 1, 1], [0, 1, 0, 1]])
1976
1976
>>> mi
1977
1977
MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
1978
- labels =[[0, 0, 1, 1], [0, 1, 0, 1]])
1978
+ codes =[[0, 0, 1, 1], [0, 1, 0, 1]])
1979
1979
>>> mi.swaplevel(0, 1)
1980
1980
MultiIndex(levels=[['bb', 'aa'], ['a', 'b']],
1981
- labels =[[0, 1, 0, 1], [0, 0, 1, 1]])
1981
+ codes =[[0, 1, 0, 1], [0, 0, 1, 1]])
1982
1982
"""
1983
1983
new_levels = list (self .levels )
1984
1984
new_codes = list (self .codes )
0 commit comments