Skip to content

Commit a0d3647

Browse files
committed
Update labels -> codes in various locations
1 parent cee5814 commit a0d3647

File tree

7 files changed

+37
-39
lines changed

7 files changed

+37
-39
lines changed

asv_bench/benchmarks/multiindex_object.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def setup(self):
7979
levels = [np.arange(n),
8080
tm.makeStringIndex(n).values,
8181
1000 + np.arange(n)]
82-
labels = [np.random.choice(n, (k * n)) for lev in levels]
83-
self.mi = MultiIndex(levels=levels, labels=labels)
82+
codes = [np.random.choice(n, (k * n)) for lev in levels]
83+
self.mi = MultiIndex(levels=levels, codes=codes)
8484

8585
def time_duplicated(self):
8686
self.mi.duplicated()

asv_bench/benchmarks/stat_ops.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ class FrameMultiIndexOps(object):
3131

3232
def setup(self, level, op):
3333
levels = [np.arange(10), np.arange(100), np.arange(100)]
34-
labels = [np.arange(10).repeat(10000),
35-
np.tile(np.arange(100).repeat(100), 10),
36-
np.tile(np.tile(np.arange(100), 100), 10)]
37-
index = pd.MultiIndex(levels=levels, labels=labels)
34+
codes = [np.arange(10).repeat(10000),
35+
np.tile(np.arange(100).repeat(100), 10),
36+
np.tile(np.tile(np.arange(100), 100), 10)]
37+
index = pd.MultiIndex(levels=levels, codes=codes)
3838
df = pd.DataFrame(np.random.randn(len(index), 4), index=index)
3939
self.df_func = getattr(df, op)
4040

@@ -67,10 +67,10 @@ class SeriesMultiIndexOps(object):
6767

6868
def setup(self, level, op):
6969
levels = [np.arange(10), np.arange(100), np.arange(100)]
70-
labels = [np.arange(10).repeat(10000),
71-
np.tile(np.arange(100).repeat(100), 10),
72-
np.tile(np.tile(np.arange(100), 100), 10)]
73-
index = pd.MultiIndex(levels=levels, labels=labels)
70+
codes = [np.arange(10).repeat(10000),
71+
np.tile(np.arange(100).repeat(100), 10),
72+
np.tile(np.tile(np.arange(100), 100), 10)]
73+
index = pd.MultiIndex(levels=levels, codes=codes)
7474
s = pd.Series(np.random.randn(len(index)), index=index)
7575
self.s_func = getattr(s, op)
7676

doc/source/whatsnew/v0.24.0.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -1102,9 +1102,9 @@ Deprecations
11021102

11031103
- :attr:`MultiIndex.labels` has been deprecated and replaced by :attr:`MultiIndex.codes`.
11041104
The functionality is unchanged. This new name better reflects the natures of
1105-
these codes and makes the API more similar to the API for
1105+
these codes and makes the ``MultiIndex`` API more similar to the API for
11061106
:class:`CategoricalIndex`(:issue:`13443`).
1107-
As a consequence, other uses of the name ``labels`` have also been deprecated in ``MultiIndex`` and replaced with ``codes``:
1107+
As a consequence, other uses of the name ``labels`` in ``MultiIndex`` have also been deprecated and replaced with ``codes``:
11081108
- You should initialize a ``MultiIndex`` instance using a parameter named ``codes`` rather than ``labels``.
11091109
- :meth:`MultiIndex.set_labels` has been deprecated in favor of :meth:`MultiIndex.set_codes`
11101110
- for method :meth:`MultiIndex.copy`, the ``labels`` parameter has been deprecated and replaced by a ``codes`` parameter.

pandas/core/indexes/multi.py

+5-7
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from pandas.compat import lrange, lzip, map, range, zip
1212
from pandas.compat.numpy import function as nv
1313
from pandas.errors import PerformanceWarning, UnsortedIndexError
14-
from pandas.util._decorators import Appender, cache_readonly
14+
from pandas.util._decorators import Appender, cache_readonly, deprecate_kwarg
1515

1616
from pandas.core.dtypes.common import (
1717
ensure_int64, ensure_platform_int, is_categorical_dtype, is_hashable,
@@ -31,8 +31,6 @@
3131

3232
from pandas.io.formats.printing import pprint_thing
3333

34-
from pandas.util._decorators import deprecate_kwarg
35-
3634
_index_doc_kwargs = dict(ibase._index_doc_kwargs)
3735
_index_doc_kwargs.update(
3836
dict(klass='MultiIndex',
@@ -655,19 +653,19 @@ def set_codes(self, codes, level=None, inplace=False,
655653
>>> idx = pd.MultiIndex.from_tuples([(1, u'one'), (1, u'two'),
656654
(2, u'one'), (2, u'two')],
657655
names=['foo', 'bar'])
658-
>>> idx.set_labels([[1,0,1,0], [0,0,1,1]])
656+
>>> idx.set_codes([[1,0,1,0], [0,0,1,1]])
659657
MultiIndex(levels=[[1, 2], [u'one', u'two']],
660658
labels=[[1, 0, 1, 0], [0, 0, 1, 1]],
661659
names=[u'foo', u'bar'])
662-
>>> idx.set_labels([1,0,1,0], level=0)
660+
>>> idx.set_codes([1,0,1,0], level=0)
663661
MultiIndex(levels=[[1, 2], [u'one', u'two']],
664662
labels=[[1, 0, 1, 0], [0, 1, 0, 1]],
665663
names=[u'foo', u'bar'])
666-
>>> idx.set_labels([0,0,1,1], level='bar')
664+
>>> idx.set_codes([0,0,1,1], level='bar')
667665
MultiIndex(levels=[[1, 2], [u'one', u'two']],
668666
labels=[[0, 0, 1, 1], [0, 0, 1, 1]],
669667
names=[u'foo', u'bar'])
670-
>>> idx.set_labels([[1,0,1,0], [0,0,1,1]], level=[0,1])
668+
>>> idx.set_codes([[1,0,1,0], [0,0,1,1]], level=[0,1])
671669
MultiIndex(levels=[[1, 2], [u'one', u'two']],
672670
labels=[[1, 0, 1, 0], [0, 0, 1, 1]],
673671
names=[u'foo', u'bar'])

pandas/tests/indexing/test_multiindex.py

+15-15
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ def multiindex_dataframe_random_data():
2424
"""DataFrame with 2 level MultiIndex with random data"""
2525
index = MultiIndex(levels=[['foo', 'bar', 'baz', 'qux'], ['one', 'two',
2626
'three']],
27-
labels=[[0, 0, 0, 1, 1, 2, 2, 3, 3, 3],
28-
[0, 1, 2, 0, 1, 1, 2, 0, 1, 2]],
27+
codes=[[0, 0, 0, 1, 1, 2, 2, 3, 3, 3],
28+
[0, 1, 2, 0, 1, 1, 2, 0, 1, 2]],
2929
names=['first', 'second'])
3030
return DataFrame(np.random.randn(10, 3), index=index,
3131
columns=Index(['A', 'B', 'C'], name='exp'))
@@ -35,7 +35,7 @@ def multiindex_dataframe_random_data():
3535
def single_level_multiindex():
3636
"""single level MultiIndex"""
3737
return MultiIndex(levels=[['foo', 'bar', 'baz', 'qux']],
38-
labels=[[0, 1, 2, 3]], names=['first'])
38+
codes=[[0, 1, 2, 3]], names=['first'])
3939

4040

4141
@pytest.fixture
@@ -900,8 +900,8 @@ def test_frame_getitem_setitem_slice(
900900

901901
def test_frame_getitem_setitem_multislice(self):
902902
levels = [['t1', 't2'], ['a', 'b', 'c']]
903-
labels = [[0, 0, 0, 1, 1], [0, 1, 2, 0, 1]]
904-
midx = MultiIndex(labels=labels, levels=levels, names=[None, 'id'])
903+
codes = [[0, 0, 0, 1, 1], [0, 1, 2, 0, 1]]
904+
midx = MultiIndex(codes=codes, levels=levels, names=[None, 'id'])
905905
df = DataFrame({'value': [1, 2, 3, 7, 8]}, index=midx)
906906

907907
result = df.loc[:, 'value']
@@ -1044,9 +1044,9 @@ def test_xs_partial(self, multiindex_dataframe_random_data,
10441044

10451045
# ex from #1796
10461046
index = MultiIndex(levels=[['foo', 'bar'], ['one', 'two'], [-1, 1]],
1047-
labels=[[0, 0, 0, 0, 1, 1, 1, 1],
1048-
[0, 0, 1, 1, 0, 0, 1, 1], [0, 1, 0, 1, 0, 1,
1049-
0, 1]])
1047+
codes=[[0, 0, 0, 0, 1, 1, 1, 1],
1048+
[0, 0, 1, 1, 0, 0, 1, 1], [0, 1, 0, 1, 0, 1,
1049+
0, 1]])
10501050
df = DataFrame(np.random.randn(8, 4), index=index,
10511051
columns=list('abcd'))
10521052

@@ -1189,7 +1189,7 @@ def test_getitem_toplevel(self, multiindex_dataframe_random_data):
11891189

11901190
def test_getitem_setitem_slice_integers(self):
11911191
index = MultiIndex(levels=[[0, 1, 2], [0, 2]],
1192-
labels=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]])
1192+
codes=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]])
11931193

11941194
frame = DataFrame(np.random.randn(len(index), 4), index=index,
11951195
columns=['a', 'b', 'c', 'd'])
@@ -1211,8 +1211,8 @@ def test_getitem_setitem_slice_integers(self):
12111211

12121212
def test_getitem_int(self, multiindex_dataframe_random_data):
12131213
levels = [[0, 1], [0, 1, 2]]
1214-
labels = [[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]]
1215-
index = MultiIndex(levels=levels, labels=labels)
1214+
codes = [[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]]
1215+
index = MultiIndex(levels=levels, codes=codes)
12161216

12171217
frame = DataFrame(np.random.randn(6, 2), index=index)
12181218

@@ -1236,7 +1236,7 @@ def test_getitem_partial(
12361236
ymd = ymd.T
12371237
result = ymd[2000, 2]
12381238

1239-
expected = ymd.reindex(columns=ymd.columns[ymd.columns.labels[1] == 1])
1239+
expected = ymd.reindex(columns=ymd.columns[ymd.columns.codes[1] == 1])
12401240
expected.columns = expected.columns.droplevel(0).droplevel(0)
12411241
tm.assert_frame_equal(result, expected)
12421242

@@ -1279,12 +1279,12 @@ def test_fancy_slice_partial(
12791279

12801280
ymd = multiindex_year_month_day_dataframe_random_data
12811281
result = ymd.loc[(2000, 2):(2000, 4)]
1282-
lev = ymd.index.labels[1]
1282+
lev = ymd.index.codes[1]
12831283
expected = ymd[(lev >= 1) & (lev <= 3)]
12841284
tm.assert_frame_equal(result, expected)
12851285

12861286
def test_getitem_partial_column_select(self):
1287-
idx = MultiIndex(labels=[[0, 0, 0], [0, 1, 1], [1, 0, 1]],
1287+
idx = MultiIndex(codes=[[0, 0, 0], [0, 1, 1], [1, 0, 1]],
12881288
levels=[['a', 'b'], ['x', 'y'], ['p', 'q']])
12891289
df = DataFrame(np.random.rand(3, 2), index=idx)
12901290

@@ -1582,7 +1582,7 @@ def test_frame_getitem_not_sorted2(self):
15821582
df2_original = df2.copy()
15831583

15841584
df2.index.set_levels(['b', 'd', 'a'], level='col1', inplace=True)
1585-
df2.index.set_labels([0, 1, 0, 2], level='col1', inplace=True)
1585+
df2.index.set_codes([0, 1, 0, 2], level='col1', inplace=True)
15861586
assert not df2.index.is_lexsorted()
15871587
assert not df2.index.is_monotonic
15881588

pandas/tests/io/parser/test_header.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def test_header_multi_index_common_format_malformed1(all_parsers):
236236
columns=MultiIndex(levels=[[u("a"), u("b"), u("c")],
237237
[u("r"), u("s"), u("t"),
238238
u("u"), u("v")]],
239-
labels=[[0, 0, 1, 2, 2], [0, 1, 2, 3, 4]],
239+
codes=[[0, 0, 1, 2, 2], [0, 1, 2, 3, 4]],
240240
names=[u("a"), u("q")]))
241241
data = """a,a,a,b,c,c
242242
q,r,s,t,u,v
@@ -255,7 +255,7 @@ def test_header_multi_index_common_format_malformed2(all_parsers):
255255
columns=MultiIndex(levels=[[u("a"), u("b"), u("c")],
256256
[u("r"), u("s"), u("t"),
257257
u("u"), u("v")]],
258-
labels=[[0, 0, 1, 2, 2], [0, 1, 2, 3, 4]],
258+
codes=[[0, 0, 1, 2, 2], [0, 1, 2, 3, 4]],
259259
names=[None, u("q")]))
260260

261261
data = """,a,a,b,c,c
@@ -272,10 +272,10 @@ def test_header_multi_index_common_format_malformed3(all_parsers):
272272
expected = DataFrame(np.array(
273273
[[3, 4, 5, 6], [9, 10, 11, 12]], dtype="int64"),
274274
index=MultiIndex(levels=[[1, 7], [2, 8]],
275-
labels=[[0, 1], [0, 1]]),
275+
codes=[[0, 1], [0, 1]]),
276276
columns=MultiIndex(levels=[[u("a"), u("b"), u("c")],
277277
[u("s"), u("t"), u("u"), u("v")]],
278-
labels=[[0, 1, 2, 2], [0, 1, 2, 3]],
278+
codes=[[0, 1, 2, 2], [0, 1, 2, 3]],
279279
names=[None, u("q")]))
280280
data = """,a,a,b,c,c
281281
q,r,s,t,u,v

pandas/tests/io/parser/test_index_col.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,5 +148,5 @@ def test_multi_index_naming_not_all_at_beginning(all_parsers):
148148
expected = DataFrame({"Unnamed: 2": ["c", "d", "c", "d"]},
149149
index=MultiIndex(
150150
levels=[['a', 'b'], [1, 2, 3, 4]],
151-
labels=[[0, 0, 1, 1], [0, 1, 2, 3]]))
151+
codes=[[0, 0, 1, 1], [0, 1, 2, 3]]))
152152
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)