Skip to content

Commit 1f080cf

Browse files
committed
MultiIndex.labels -> MulitIndex.codes
1 parent 80a4959 commit 1f080cf

Some content is hidden

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

68 files changed

+604
-617
lines changed

pandas/core/frame.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -1807,7 +1807,7 @@ def to_panel(self):
18071807
selfsorted = self
18081808

18091809
major_axis, minor_axis = selfsorted.index.levels
1810-
major_labels, minor_labels = selfsorted.index.labels
1810+
major_codes, minor_codes = selfsorted.index.codes
18111811
shape = len(major_axis), len(minor_axis)
18121812

18131813
# preserve names, if any
@@ -1822,8 +1822,8 @@ def to_panel(self):
18221822

18231823
# create new manager
18241824
new_mgr = selfsorted._data.reshape_nd(axes=new_axes,
1825-
labels=[major_labels,
1826-
minor_labels],
1825+
labels=[major_codes,
1826+
minor_codes],
18271827
shape=shape,
18281828
ref_items=selfsorted.columns)
18291829

@@ -4235,7 +4235,7 @@ def _maybe_casted_values(index, labels=None):
42354235
if isinstance(self.index, MultiIndex):
42364236
names = [n if n is not None else ('level_%d' % i)
42374237
for (i, n) in enumerate(self.index.names)]
4238-
to_insert = lzip(self.index.levels, self.index.labels)
4238+
to_insert = lzip(self.index.levels, self.index.codes)
42394239
else:
42404240
default = 'index' if 'index' not in self else 'level_0'
42414241
names = ([default] if self.index.name is None
@@ -7159,8 +7159,9 @@ def _count_level(self, level, axis=0, numeric_only=False):
71597159
level = count_axis._get_level_number(level)
71607160

71617161
level_index = count_axis.levels[level]
7162-
labels = ensure_int64(count_axis.labels[level])
7163-
counts = lib.count_level_2d(mask, labels, len(level_index), axis=0)
7162+
level_codes = ensure_int64(count_axis.codes[level])
7163+
counts = lib.count_level_2d(mask, level_codes, len(level_index),
7164+
axis=0)
71647165

71657166
result = DataFrame(counts, index=level_index, columns=agg_axis)
71667167

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
@@ -3284,27 +3284,27 @@ def droplevel(self, level=0):
32843284
# The two checks above guarantee that here self is a MultiIndex
32853285

32863286
new_levels = list(self.levels)
3287-
new_labels = list(self.labels)
3287+
new_codes = list(self.codes)
32883288
new_names = list(self.names)
32893289

32903290
for i in levnums:
32913291
new_levels.pop(i)
3292-
new_labels.pop(i)
3292+
new_codes.pop(i)
32933293
new_names.pop(i)
32943294

32953295
if len(new_levels) == 1:
32963296

32973297
# set nan if needed
3298-
mask = new_labels[0] == -1
3299-
result = new_levels[0].take(new_labels[0])
3298+
mask = new_codes[0] == -1
3299+
result = new_levels[0].take(new_codes[0])
33003300
if mask.any():
33013301
result = result.putmask(mask, np.nan)
33023302

33033303
result.name = new_names[0]
33043304
return result
33053305
else:
33063306
from .multi import MultiIndex
3307-
return MultiIndex(levels=new_levels, labels=new_labels,
3307+
return MultiIndex(levels=new_levels, codes=new_codes,
33083308
names=new_names, verify_integrity=False)
33093309

33103310
_index_shared_docs['get_indexer'] = """
@@ -4106,19 +4106,19 @@ def _get_leaf_sorter(labels):
41064106
left_indexer = None
41074107
join_index = left
41084108
else: # sort the leaves
4109-
left_indexer = _get_leaf_sorter(left.labels[:level + 1])
4109+
left_indexer = _get_leaf_sorter(left.codes[:level + 1])
41104110
join_index = left[left_indexer]
41114111

41124112
else:
41134113
left_lev_indexer = ensure_int64(left_lev_indexer)
41144114
rev_indexer = lib.get_reverse_indexer(left_lev_indexer,
41154115
len(old_level))
41164116

4117-
new_lev_labels = algos.take_nd(rev_indexer, left.labels[level],
4117+
new_lev_labels = algos.take_nd(rev_indexer, left.codes[level],
41184118
allow_fill=False)
41194119

4120-
new_labels = list(left.labels)
4121-
new_labels[level] = new_lev_labels
4120+
new_codes = list(left.codes)
4121+
new_codes[level] = new_lev_labels
41224122

41234123
new_levels = list(left.levels)
41244124
new_levels[level] = new_level
@@ -4127,7 +4127,7 @@ def _get_leaf_sorter(labels):
41274127
left_indexer = np.arange(len(left), dtype=np.intp)
41284128
mask = new_lev_labels != -1
41294129
if not mask.all():
4130-
new_labels = [lab[mask] for lab in new_labels]
4130+
new_codes = [lab[mask] for lab in new_codes]
41314131
left_indexer = left_indexer[mask]
41324132

41334133
else: # tie out the order with other
@@ -4138,31 +4138,31 @@ def _get_leaf_sorter(labels):
41384138

41394139
# missing values are placed first; drop them!
41404140
left_indexer = left_indexer[counts[0]:]
4141-
new_labels = [lab[left_indexer] for lab in new_labels]
4141+
new_codes = [lab[left_indexer] for lab in new_codes]
41424142

41434143
else: # sort the leaves
41444144
mask = new_lev_labels != -1
41454145
mask_all = mask.all()
41464146
if not mask_all:
4147-
new_labels = [lab[mask] for lab in new_labels]
4147+
new_codes = [lab[mask] for lab in new_codes]
41484148

4149-
left_indexer = _get_leaf_sorter(new_labels[:level + 1])
4150-
new_labels = [lab[left_indexer] for lab in new_labels]
4149+
left_indexer = _get_leaf_sorter(new_codes[:level + 1])
4150+
new_codes = [lab[left_indexer] for lab in new_codes]
41514151

41524152
# left_indexers are w.r.t masked frame.
41534153
# reverse to original frame!
41544154
if not mask_all:
41554155
left_indexer = mask.nonzero()[0][left_indexer]
41564156

4157-
join_index = MultiIndex(levels=new_levels, labels=new_labels,
4157+
join_index = MultiIndex(levels=new_levels, codes=new_codes,
41584158
names=left.names, verify_integrity=False)
41594159

41604160
if right_lev_indexer is not None:
41614161
right_indexer = algos.take_nd(right_lev_indexer,
4162-
join_index.labels[level],
4162+
join_index.codes[level],
41634163
allow_fill=False)
41644164
else:
4165-
right_indexer = join_index.labels[level]
4165+
right_indexer = join_index.codes[level]
41664166

41674167
if flip_order:
41684168
left_indexer, right_indexer = right_indexer, left_indexer

0 commit comments

Comments
 (0)