Skip to content

Commit 018414e

Browse files
mroeschkejorisvandenbossche
authored andcommitted
CLN: Simplify logic of DataFrame.empty (pandas-dev#15043)
1 parent 7c0b4a3 commit 018414e

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

pandas/core/generic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -909,7 +909,7 @@ def empty(self):
909909
pandas.Series.dropna
910910
pandas.DataFrame.dropna
911911
"""
912-
return not all(len(self._get_axis(a)) > 0 for a in self._AXIS_ORDERS)
912+
return any(len(self._get_axis(a)) == 0 for a in self._AXIS_ORDERS)
913913

914914
def __nonzero__(self):
915915
raise ValueError("The truth value of a {0} is ambiguous. "

pandas/tests/frame/test_misc_api.py

+9
Original file line numberDiff line numberDiff line change
@@ -410,9 +410,18 @@ def test_series_put_names(self):
410410
def test_empty_nonzero(self):
411411
df = DataFrame([1, 2, 3])
412412
self.assertFalse(df.empty)
413+
df = pd.DataFrame(index=[1], columns=[1])
414+
self.assertFalse(df.empty)
413415
df = DataFrame(index=['a', 'b'], columns=['c', 'd']).dropna()
414416
self.assertTrue(df.empty)
415417
self.assertTrue(df.T.empty)
418+
empty_frames = [pd.DataFrame(),
419+
pd.DataFrame(index=[1]),
420+
pd.DataFrame(columns=[1]),
421+
pd.DataFrame({1: []})]
422+
for df in empty_frames:
423+
self.assertTrue(df.empty)
424+
self.assertTrue(df.T.empty)
416425

417426
def test_inplace_return_self(self):
418427
# re #1893

pandas/tests/series/test_misc_api.py

+7
Original file line numberDiff line numberDiff line change
@@ -343,3 +343,10 @@ def test_str_attribute(self):
343343
s = Series(range(5))
344344
with self.assertRaisesRegexp(AttributeError, 'only use .str accessor'):
345345
s.str.repeat(2)
346+
347+
def test_empty_method(self):
348+
s_empty = pd.Series()
349+
tm.assert_equal(s_empty.empty, True)
350+
351+
for full_series in [pd.Series([1]), pd.Series(index=[1])]:
352+
tm.assert_equal(full_series.empty, False)

0 commit comments

Comments
 (0)