Skip to content

Commit

Permalink
BUG: pandas-dev#19497 fix.
Browse files Browse the repository at this point in the history
  • Loading branch information
charlie0389 committed Mar 29, 2018
1 parent 0c4e611 commit 37ceb5d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
3 changes: 2 additions & 1 deletion pandas/core/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,7 @@ def rename(self, *args, **kwargs):
inplace = kwargs.pop('inplace', False)
level = kwargs.pop('level', None)
axis = kwargs.pop('axis', None)
tupleize_cols = kwargs.pop('tupleize_cols', False)
if axis is not None:
axis = self._get_axis_number(axis)

Expand Down Expand Up @@ -971,7 +972,7 @@ def f(x):
if level is not None:
level = self.axes[axis]._get_level_number(level)
result._data = result._data.rename_axis(f, axis=baxis, copy=copy,
level=level)
level=level, tupleize_cols=tupleize_cols)
result._clear_item_cache()

if inplace:
Expand Down
9 changes: 5 additions & 4 deletions pandas/core/internals.py
Original file line number Diff line number Diff line change
Expand Up @@ -3280,7 +3280,8 @@ def set_axis(self, axis, new_labels):

self.axes[axis] = new_labels

def rename_axis(self, mapper, axis, copy=True, level=None):
def rename_axis(self, mapper, axis, copy=True, level=None,
tupleize_cols=False):
"""
Rename one of axes.
Expand All @@ -3293,7 +3294,7 @@ def rename_axis(self, mapper, axis, copy=True, level=None):
"""
obj = self.copy(deep=copy)
obj.set_axis(axis, _transform_index(self.axes[axis], mapper, level))
obj.set_axis(axis, _transform_index(self.axes[axis], mapper, level, tupleize_cols=tupleize_cols))
return obj

def add_prefix(self, prefix):
Expand Down Expand Up @@ -5234,7 +5235,7 @@ def _safe_reshape(arr, new_shape):
return arr


def _transform_index(index, func, level=None):
def _transform_index(index, func, level=None, tupleize_cols=True):
"""
Apply function to all values found in index.
Expand All @@ -5251,7 +5252,7 @@ def _transform_index(index, func, level=None):
return MultiIndex.from_tuples(items, names=index.names)
else:
items = [func(x) for x in index]
return Index(items, name=index.name)
return Index(items, name=index.name, tupleize_cols=tupleize_cols)


def _putmask_smart(v, m, n):
Expand Down

0 comments on commit 37ceb5d

Please sign in to comment.