From db8df377cd0b35d5a49571bcbc681feb6b88bc50 Mon Sep 17 00:00:00 2001 From: Jeffrey Tratner Date: Wed, 23 Oct 2013 20:55:07 -0400 Subject: [PATCH] ENH: Make 'rows' an axis alias for 'index' For convenience of interactive users only. --- pandas/core/frame.py | 4 ++-- pandas/core/series.py | 3 ++- pandas/tests/test_frame.py | 4 ++++ pandas/tests/test_series.py | 7 +++++++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 5e33532587506..b611f87b0a557 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -4358,8 +4358,8 @@ def combineMult(self, other): return self.mul(other, fill_value=1.) -DataFrame._setup_axes( - ['index', 'columns'], info_axis=1, stat_axis=0, axes_are_reversed=True) +DataFrame._setup_axes(['index', 'columns'], info_axis=1, stat_axis=0, + axes_are_reversed=True, aliases={'rows': 0}) DataFrame._add_numeric_operations() _EMPTY_SERIES = Series([]) diff --git a/pandas/core/series.py b/pandas/core/series.py index 11033893b0b93..51a5241e51ded 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -2381,7 +2381,8 @@ def to_period(self, freq=None, copy=True): new_index = self.index.to_period(freq=freq) return self._constructor(new_values, index=new_index).__finalize__(self) -Series._setup_axes(['index'], info_axis=0, stat_axis=0) +Series._setup_axes(['index'], info_axis=0, stat_axis=0, + aliases={'rows': 0}) Series._add_numeric_operations() _INDEX_TYPES = ndarray, Index, list, tuple diff --git a/pandas/tests/test_frame.py b/pandas/tests/test_frame.py index f6db680d30061..16ba262beb5fc 100644 --- a/pandas/tests/test_frame.py +++ b/pandas/tests/test_frame.py @@ -1930,11 +1930,13 @@ def test_get_axis(self): self.assertEquals(f._get_axis_number(0), 0) self.assertEquals(f._get_axis_number(1), 1) self.assertEquals(f._get_axis_number('index'), 0) + self.assertEquals(f._get_axis_number('rows'), 0) self.assertEquals(f._get_axis_number('columns'), 1) self.assertEquals(f._get_axis_name(0), 'index') self.assertEquals(f._get_axis_name(1), 'columns') self.assertEquals(f._get_axis_name('index'), 'index') + self.assertEquals(f._get_axis_name('rows'), 'index') self.assertEquals(f._get_axis_name('columns'), 'columns') self.assert_(f._get_axis(0) is f.index) @@ -8400,6 +8402,8 @@ def create(): expected = df.apply(lambda x, y: x.where(x>0,y), y=df[0]) result = df.where(df>0,df[0],axis='index') assert_frame_equal(result, expected) + result = df.where(df>0,df[0],axis='rows') + assert_frame_equal(result, expected) # frame df = create() diff --git a/pandas/tests/test_series.py b/pandas/tests/test_series.py index 6988c81b181de..09f6668e05196 100644 --- a/pandas/tests/test_series.py +++ b/pandas/tests/test_series.py @@ -3566,6 +3566,13 @@ def test_dropna_empty(self): # invalid axis self.assertRaises(ValueError, s.dropna, axis=1) + def test_axis_alias(self): + s = Series([1, 2, np.nan]) + assert_series_equal(s.dropna(axis='rows'), s.dropna(axis='index')) + self.assertEqual(s.dropna().sum('rows'), 3) + self.assertEqual(s._get_axis_number('rows'), 0) + self.assertEqual(s._get_axis_name('rows'), 'index') + def test_drop_duplicates(self): s = Series([1, 2, 3, 3])