diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 9666fe42cc822..3259522e20926 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -233,7 +233,7 @@ def _construct_axes_from_arguments(self, args, kwargs, require_all=False): if alias is not None: if a in kwargs: if alias in kwargs: - raise Exception( + raise TypeError( "arguments are multually exclusive for [%s,%s]" % (a, alias)) continue if alias in kwargs: @@ -246,8 +246,8 @@ def _construct_axes_from_arguments(self, args, kwargs, require_all=False): kwargs[a] = args.pop(0) except (IndexError): if require_all: - raise AssertionError( - "not enough arguments specified!") + raise TypeError( + "not enough/duplicate arguments specified!") axes = dict([(a, kwargs.get(a)) for a in self._AXIS_ORDERS]) return axes, kwargs diff --git a/pandas/tests/test_panel.py b/pandas/tests/test_panel.py index 07b33266d88a1..d2da403907280 100644 --- a/pandas/tests/test_panel.py +++ b/pandas/tests/test_panel.py @@ -1248,14 +1248,12 @@ def test_transpose(self): expected = self.panel.swapaxes('items', 'minor') assert_panel_equal(result, expected) - ## test bad aliases - # test ambiguous aliases - self.assertRaises(AssertionError, self.panel.transpose, 'minor', - maj='major', majo='items') - - # test invalid kwargs - self.assertRaises(AssertionError, self.panel.transpose, 'minor', - maj='major', minor='items') + # duplicate axes + with tm.assertRaisesRegexp(TypeError, 'not enough/duplicate arguments'): + self.panel.transpose('minor', maj='major', minor='items') + + with tm.assertRaisesRegexp(ValueError, 'repeated axis in transpose'): + self.panel.transpose('minor', 'major', major='minor', minor='items') result = self.panel.transpose(2, 1, 0) assert_panel_equal(result, expected)