Skip to content

Commit 3002e2d

Browse files
committed
MultiIndex.labels -> MulitIndex.codes
1 parent e0bd46e commit 3002e2d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1176
-612
lines changed

pandas/core/frame.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -1828,7 +1828,7 @@ def to_panel(self):
18281828
selfsorted = self
18291829

18301830
major_axis, minor_axis = selfsorted.index.levels
1831-
major_labels, minor_labels = selfsorted.index.labels
1831+
major_codes, minor_codes = selfsorted.index.codes
18321832
shape = len(major_axis), len(minor_axis)
18331833

18341834
# preserve names, if any
@@ -1843,8 +1843,8 @@ def to_panel(self):
18431843

18441844
# create new manager
18451845
new_mgr = selfsorted._data.reshape_nd(axes=new_axes,
1846-
labels=[major_labels,
1847-
minor_labels],
1846+
labels=[major_codes,
1847+
minor_codes],
18481848
shape=shape,
18491849
ref_items=selfsorted.columns)
18501850

@@ -4247,7 +4247,7 @@ def _maybe_casted_values(index, labels=None):
42474247
if isinstance(self.index, MultiIndex):
42484248
names = [n if n is not None else ('level_%d' % i)
42494249
for (i, n) in enumerate(self.index.names)]
4250-
to_insert = lzip(self.index.levels, self.index.labels)
4250+
to_insert = lzip(self.index.levels, self.index.codes)
42514251
else:
42524252
default = 'index' if 'index' not in self else 'level_0'
42534253
names = ([default] if self.index.name is None
@@ -7171,8 +7171,9 @@ def _count_level(self, level, axis=0, numeric_only=False):
71717171
level = count_axis._get_level_number(level)
71727172

71737173
level_index = count_axis.levels[level]
7174-
labels = ensure_int64(count_axis.labels[level])
7175-
counts = lib.count_level_2d(mask, labels, len(level_index), axis=0)
7174+
level_codes = ensure_int64(count_axis.codes[level])
7175+
counts = lib.count_level_2d(mask, level_codes, len(level_index),
7176+
axis=0)
71767177

71777178
result = DataFrame(counts, index=level_index, columns=agg_axis)
71787179

pandas/core/groupby/generic.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1112,7 +1112,7 @@ def value_counts(self, normalize=False, sort=True, ascending=False,
11121112
lab = cut(Series(val), bins, include_lowest=True)
11131113
lev = lab.cat.categories
11141114
lab = lev.take(lab.cat.codes)
1115-
llab = lambda lab, inc: lab[inc]._multiindex.labels[-1]
1115+
llab = lambda lab, inc: lab[inc]._multiindex.codes[-1]
11161116

11171117
if is_interval_dtype(lab):
11181118
# TODO: should we do this inside II?
@@ -1163,7 +1163,7 @@ def value_counts(self, normalize=False, sort=True, ascending=False,
11631163
out, labels[-1] = out[sorter], labels[-1][sorter]
11641164

11651165
if bins is None:
1166-
mi = MultiIndex(levels=levels, labels=labels, names=names,
1166+
mi = MultiIndex(levels=levels, codes=labels, names=names,
11671167
verify_integrity=False)
11681168

11691169
if is_integer_dtype(out):
@@ -1194,7 +1194,7 @@ def value_counts(self, normalize=False, sort=True, ascending=False,
11941194
labels = list(map(lambda lab: np.repeat(lab[diff], nbin), labels[:-1]))
11951195
labels.append(left[-1])
11961196

1197-
mi = MultiIndex(levels=levels, labels=labels, names=names,
1197+
mi = MultiIndex(levels=levels, codes=labels, names=names,
11981198
verify_integrity=False)
11991199

12001200
if is_integer_dtype(out):

pandas/core/groupby/ops.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -291,10 +291,10 @@ def result_index(self):
291291
if not self.compressed and len(self.groupings) == 1:
292292
return self.groupings[0].result_index.rename(self.names[0])
293293

294-
labels = self.recons_labels
294+
codes = self.recons_labels
295295
levels = [ping.result_index for ping in self.groupings]
296296
result = MultiIndex(levels=levels,
297-
labels=labels,
297+
codes=codes,
298298
verify_integrity=False,
299299
names=self.names)
300300
return result

pandas/core/indexes/base.py

+17-17
Original file line numberDiff line numberDiff line change
@@ -3293,27 +3293,27 @@ def droplevel(self, level=0):
32933293
# The two checks above guarantee that here self is a MultiIndex
32943294

32953295
new_levels = list(self.levels)
3296-
new_labels = list(self.labels)
3296+
new_codes = list(self.codes)
32973297
new_names = list(self.names)
32983298

32993299
for i in levnums:
33003300
new_levels.pop(i)
3301-
new_labels.pop(i)
3301+
new_codes.pop(i)
33023302
new_names.pop(i)
33033303

33043304
if len(new_levels) == 1:
33053305

33063306
# set nan if needed
3307-
mask = new_labels[0] == -1
3308-
result = new_levels[0].take(new_labels[0])
3307+
mask = new_codes[0] == -1
3308+
result = new_levels[0].take(new_codes[0])
33093309
if mask.any():
33103310
result = result.putmask(mask, np.nan)
33113311

33123312
result.name = new_names[0]
33133313
return result
33143314
else:
33153315
from .multi import MultiIndex
3316-
return MultiIndex(levels=new_levels, labels=new_labels,
3316+
return MultiIndex(levels=new_levels, codes=new_codes,
33173317
names=new_names, verify_integrity=False)
33183318

33193319
_index_shared_docs['get_indexer'] = """
@@ -4115,19 +4115,19 @@ def _get_leaf_sorter(labels):
41154115
left_indexer = None
41164116
join_index = left
41174117
else: # sort the leaves
4118-
left_indexer = _get_leaf_sorter(left.labels[:level + 1])
4118+
left_indexer = _get_leaf_sorter(left.codes[:level + 1])
41194119
join_index = left[left_indexer]
41204120

41214121
else:
41224122
left_lev_indexer = ensure_int64(left_lev_indexer)
41234123
rev_indexer = lib.get_reverse_indexer(left_lev_indexer,
41244124
len(old_level))
41254125

4126-
new_lev_labels = algos.take_nd(rev_indexer, left.labels[level],
4126+
new_lev_labels = algos.take_nd(rev_indexer, left.codes[level],
41274127
allow_fill=False)
41284128

4129-
new_labels = list(left.labels)
4130-
new_labels[level] = new_lev_labels
4129+
new_codes = list(left.codes)
4130+
new_codes[level] = new_lev_labels
41314131

41324132
new_levels = list(left.levels)
41334133
new_levels[level] = new_level
@@ -4136,7 +4136,7 @@ def _get_leaf_sorter(labels):
41364136
left_indexer = np.arange(len(left), dtype=np.intp)
41374137
mask = new_lev_labels != -1
41384138
if not mask.all():
4139-
new_labels = [lab[mask] for lab in new_labels]
4139+
new_codes = [lab[mask] for lab in new_codes]
41404140
left_indexer = left_indexer[mask]
41414141

41424142
else: # tie out the order with other
@@ -4147,31 +4147,31 @@ def _get_leaf_sorter(labels):
41474147

41484148
# missing values are placed first; drop them!
41494149
left_indexer = left_indexer[counts[0]:]
4150-
new_labels = [lab[left_indexer] for lab in new_labels]
4150+
new_codes = [lab[left_indexer] for lab in new_codes]
41514151

41524152
else: # sort the leaves
41534153
mask = new_lev_labels != -1
41544154
mask_all = mask.all()
41554155
if not mask_all:
4156-
new_labels = [lab[mask] for lab in new_labels]
4156+
new_codes = [lab[mask] for lab in new_codes]
41574157

4158-
left_indexer = _get_leaf_sorter(new_labels[:level + 1])
4159-
new_labels = [lab[left_indexer] for lab in new_labels]
4158+
left_indexer = _get_leaf_sorter(new_codes[:level + 1])
4159+
new_codes = [lab[left_indexer] for lab in new_codes]
41604160

41614161
# left_indexers are w.r.t masked frame.
41624162
# reverse to original frame!
41634163
if not mask_all:
41644164
left_indexer = mask.nonzero()[0][left_indexer]
41654165

4166-
join_index = MultiIndex(levels=new_levels, labels=new_labels,
4166+
join_index = MultiIndex(levels=new_levels, codes=new_codes,
41674167
names=left.names, verify_integrity=False)
41684168

41694169
if right_lev_indexer is not None:
41704170
right_indexer = algos.take_nd(right_lev_indexer,
4171-
join_index.labels[level],
4171+
join_index.codes[level],
41724172
allow_fill=False)
41734173
else:
4174-
right_indexer = join_index.labels[level]
4174+
right_indexer = join_index.codes[level]
41754175

41764176
if flip_order:
41774177
left_indexer, right_indexer = right_indexer, left_indexer

0 commit comments

Comments
 (0)