Skip to content

Commit b9ec5b0

Browse files
committed
Simplify logic of DataFrame.empty
Add test for empty method
1 parent 74e20a0 commit b9ec5b0

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

pandas/core/generic.py

Lines changed: 1 addition & 1 deletion
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/test_generic.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,13 @@ def testit(index, check_index_type=True, check_categorical=True):
881881
self.assertIsInstance(result, DataArray)
882882
assert_series_equal(result.to_series(), s)
883883

884+
def test_empty_method(self):
885+
s_empty = pd.Series()
886+
tm.assert_equal(s_empty.empty, True)
887+
888+
for full_series in [pd.Series([1]), pd.Series(index=[1])]:
889+
tm.assert_equal(full_series.empty, False)
890+
884891

885892
class TestDataFrame(tm.TestCase, Generic):
886893
_typ = DataFrame
@@ -1504,6 +1511,20 @@ def test_to_xarray(self):
15041511
expected,
15051512
check_index_type=False)
15061513

1514+
def test_empty_method(self):
1515+
empty_frames = [pd.DataFrame(),
1516+
pd.DataFrame(index=[1]),
1517+
pd.DataFrame(columns=[1]),
1518+
pd.DataFrame({1: []})]
1519+
for frame in empty_frames:
1520+
tm.assert_equal(frame.empty, True)
1521+
1522+
full_frames = [pd.DataFrame([1]),
1523+
pd.DataFrame(index=[1], columns=[1]),
1524+
pd.DataFrame({1: [1]})]
1525+
for frame in full_frames:
1526+
tm.assert_equal(frame.empty, False)
1527+
15071528

15081529
class TestPanel(tm.TestCase, Generic):
15091530
_typ = Panel

0 commit comments

Comments
 (0)