diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 96a13b0cb8aca..5f8be9632cbe1 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -909,7 +909,7 @@ def empty(self): pandas.Series.dropna pandas.DataFrame.dropna """ - return not all(len(self._get_axis(a)) > 0 for a in self._AXIS_ORDERS) + return any(len(self._get_axis(a)) == 0 for a in self._AXIS_ORDERS) def __nonzero__(self): raise ValueError("The truth value of a {0} is ambiguous. " diff --git a/pandas/tests/frame/test_misc_api.py b/pandas/tests/frame/test_misc_api.py index 089b71b30119b..bc750727493a3 100644 --- a/pandas/tests/frame/test_misc_api.py +++ b/pandas/tests/frame/test_misc_api.py @@ -410,9 +410,18 @@ def test_series_put_names(self): def test_empty_nonzero(self): df = DataFrame([1, 2, 3]) self.assertFalse(df.empty) + df = pd.DataFrame(index=[1], columns=[1]) + self.assertFalse(df.empty) df = DataFrame(index=['a', 'b'], columns=['c', 'd']).dropna() self.assertTrue(df.empty) self.assertTrue(df.T.empty) + empty_frames = [pd.DataFrame(), + pd.DataFrame(index=[1]), + pd.DataFrame(columns=[1]), + pd.DataFrame({1: []})] + for df in empty_frames: + self.assertTrue(df.empty) + self.assertTrue(df.T.empty) def test_inplace_return_self(self): # re #1893 diff --git a/pandas/tests/series/test_misc_api.py b/pandas/tests/series/test_misc_api.py index 61bdc59cd500d..b1b06cc7be8a4 100644 --- a/pandas/tests/series/test_misc_api.py +++ b/pandas/tests/series/test_misc_api.py @@ -343,3 +343,10 @@ def test_str_attribute(self): s = Series(range(5)) with self.assertRaisesRegexp(AttributeError, 'only use .str accessor'): s.str.repeat(2) + + def test_empty_method(self): + s_empty = pd.Series() + tm.assert_equal(s_empty.empty, True) + + for full_series in [pd.Series([1]), pd.Series(index=[1])]: + tm.assert_equal(full_series.empty, False)