Skip to content

Commit 4c3b9e5

Browse files
committed
Merge pull request #6725 from dalejung/shift_named_axis
Shift named axis
2 parents 43baf9e + 8b30816 commit 4c3b9e5

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

pandas/core/generic.py

+1
Original file line numberDiff line numberDiff line change
@@ -3232,6 +3232,7 @@ def shift(self, periods=1, freq=None, axis=0, **kwds):
32323232
if periods == 0:
32333233
return self
32343234

3235+
axis = self._get_axis_number(axis)
32353236
if freq is None and not len(kwds):
32363237
new_data = self._data.shift(periods=periods, axis=axis)
32373238
else:

pandas/tests/test_frame.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -5439,13 +5439,13 @@ def test_to_csv_deprecated_options(self):
54395439
self.tsframe.to_csv(path, nanRep='foo')
54405440
recons = read_csv(path,index_col=0,parse_dates=[0],na_values=['foo'])
54415441
assert_frame_equal(self.tsframe, recons)
5442-
5442+
54435443
with tm.assert_produces_warning(FutureWarning):
54445444
self.frame.to_csv(path, cols=['A', 'B'])
54455445

54465446
with tm.assert_produces_warning(False):
54475447
self.frame.to_csv(path, columns=['A', 'B'])
5448-
5448+
54495449

54505450
def test_to_csv_from_csv(self):
54515451

@@ -9194,6 +9194,12 @@ def test_shift(self):
91949194
result = df.shift(1,axis=1)
91959195
assert_frame_equal(result,expected)
91969196

9197+
# shift named axis
9198+
df = DataFrame(np.random.rand(10,5))
9199+
expected = pd.concat([DataFrame(np.nan,index=df.index,columns=[0]),df.iloc[:,0:-1]],ignore_index=True,axis=1)
9200+
result = df.shift(1,axis='columns')
9201+
assert_frame_equal(result,expected)
9202+
91979203
def test_shift_bool(self):
91989204
df = DataFrame({'high': [True, False],
91999205
'low': [False, False]})
@@ -9827,7 +9833,7 @@ def test_sort_nan(self):
98279833
df = DataFrame({'A': [1, 2, nan, 1, 6, 8, 4],
98289834
'B': [9, nan, 5, 2, 5, 4, 5]},
98299835
index = [1, 2, 3, 4, 5, 6, nan])
9830-
9836+
98319837
# NaN label, ascending=True, na_position='last'
98329838
sorted_df = df.sort(kind='quicksort', ascending=True, na_position='last')
98339839
expected = DataFrame({'A': [1, 2, nan, 1, 6, 8, 4],
@@ -9884,7 +9890,7 @@ def test_stable_descending_multicolumn_sort(self):
98849890
sorted_df = df.sort(['A','B'], ascending=[0,0], na_position='first',
98859891
kind='mergesort')
98869892
assert_frame_equal(sorted_df, expected)
9887-
9893+
98889894
def test_sort_index_multicolumn(self):
98899895
import random
98909896
A = np.arange(5).repeat(20)

0 commit comments

Comments
 (0)