Skip to content

Commit d621319

Browse files
committed
fixed extend on a sliced array
1 parent ee9f872 commit d621319

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

larray/core.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1589,13 +1589,15 @@ def extend(self, axis, other):
15891589
if axis_idx < self._df_index_ndim:
15901590
idx = self.data.index
15911591

1592-
#TODO: assert value has not already a "level" level
15931592
if isinstance(idx, pd.MultiIndex):
1594-
# Index.append() only works with a single value or an Index
1595-
newlabels = pd.Index(other_axis.labels)
1596-
neworders = [level if i != axis_idx
1597-
else level.append(newlabels)
1598-
for i, level in enumerate(idx.levels)]
1593+
idx_uq_labels = [_index_level_unique_labels(idx, i)
1594+
for i in range(len(idx.levels))]
1595+
neworders = idx_uq_labels
1596+
for i, labels in enumerate(idx_uq_labels):
1597+
if i == axis_idx:
1598+
labels.extend(other_axis.labels)
1599+
# TODO: this is probably awfully slow, there ought to be a
1600+
# better way
15991601
for i, neworder in enumerate(neworders):
16001602
result = result.reindex(neworder, level=i)
16011603

0 commit comments

Comments
 (0)