Skip to content

Commit 5505aa1

Browse files
committed
BUG: close #812, reindex keeps original name along both axes
1 parent 6eafa07 commit 5505aa1

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

pandas/core/frame.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -1822,9 +1822,11 @@ def reindex(self, index=None, columns=None, method=None, level=None,
18221822

18231823
if index is not None:
18241824
frame = frame._reindex_index(index, method, copy, level)
1825+
frame.index.name = self.index.name
18251826

18261827
if columns is not None:
18271828
frame = frame._reindex_columns(columns, copy, level)
1829+
frame.columns.name = self.columns.name
18281830

18291831
return frame
18301832

@@ -1866,9 +1868,13 @@ def reindex_axis(self, labels, axis=0, method=None, level=None, copy=True):
18661868
"""
18671869
self._consolidate_inplace()
18681870
if axis == 0:
1869-
return self._reindex_index(labels, method, copy, level)
1871+
df = self._reindex_index(labels, method, copy, level)
1872+
df.index.name = self.index.name
1873+
return df
18701874
elif axis == 1:
1871-
return self._reindex_columns(labels, copy, level)
1875+
df = self._reindex_columns(labels, copy, level)
1876+
df.columns.name = self.columns.name
1877+
return df
18721878
else: # pragma: no cover
18731879
raise ValueError('Must specify axis=0 or 1')
18741880

pandas/tests/test_frame.py

+13
Original file line numberDiff line numberDiff line change
@@ -3100,6 +3100,19 @@ def test_reindex(self):
31003100
newFrame = self.frame.reindex(list(self.ts1.index))
31013101
self.assert_(newFrame.index.equals(self.ts1.index))
31023102

3103+
def test_reindex_name_remains(self):
3104+
s = Series(random.rand(10))
3105+
df = DataFrame(s, index=np.arange(len(s)))
3106+
df.index.name = 'iname'
3107+
df = df.reindex(s.index)
3108+
self.assert_(df.index.name == 'iname')
3109+
3110+
s = Series(random.rand(10))
3111+
df = DataFrame(s.T, index=np.arange(len(s)))
3112+
df.columns.name = 'iname'
3113+
df = df.reindex(columns=s.index)
3114+
self.assert_(df.columns.name == 'iname')
3115+
31033116
def test_reindex_int(self):
31043117
smaller = self.intframe.reindex(self.intframe.index[::2])
31053118

0 commit comments

Comments
 (0)