Skip to content

Commit

Permalink
BUG: Duplicated returns boolean dataframe (pandas-dev#25234)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sterling Paramore authored and Pingviinituutti committed Feb 28, 2019
1 parent ba96699 commit e5e2f90
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 1 deletion.
2 changes: 2 additions & 0 deletions doc/source/whatsnew/v0.24.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ Fixed Regressions
- Fixed issue in ``DataFrame`` construction with passing a mixed list of mixed types could segfault. (:issue:`25075`)
- Fixed regression in :meth:`DataFrame.apply` causing ``RecursionError`` when ``dict``-like classes were passed as argument. (:issue:`25196`)

- Fixed regression in :meth:`DataFrame.duplicated()`, where empty dataframe was not returning a boolean dtyped Series. (:issue:`25184`)

.. _whatsnew_0242.enhancements:

Enhancements
Expand Down
2 changes: 2 additions & 0 deletions doc/source/whatsnew/v0.25.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ Performance Improvements
Bug Fixes
~~~~~~~~~

-

Categorical
^^^^^^^^^^^

Expand Down
2 changes: 1 addition & 1 deletion pandas/core/frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -4619,7 +4619,7 @@ def duplicated(self, subset=None, keep='first'):
from pandas._libs.hashtable import duplicated_int64, _SIZE_HINT_LIMIT

if self.empty:
return Series()
return Series(dtype=bool)

def f(vals):
labels, shape = algorithms.factorize(
Expand Down
11 changes: 11 additions & 0 deletions pandas/tests/frame/test_duplicates.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,17 @@ def test_drop_duplicates():
assert df.duplicated(keep=keep).sum() == 0


def test_duplicated_on_empty_frame():
# GH 25184

df = DataFrame(columns=['a', 'b'])
dupes = df.duplicated('a')

result = df[dupes]
expected = df.copy()
tm.assert_frame_equal(result, expected)


def test_drop_duplicates_with_duplicate_column_names():
# GH17836
df = DataFrame([
Expand Down

0 comments on commit e5e2f90

Please sign in to comment.