20
20
Iterator ,
21
21
Mapping ,
22
22
Sequence ,
23
- Set as AbstractSet ,
24
23
)
25
24
import functools
26
25
from io import StringIO
@@ -6535,7 +6534,7 @@ def dropna(
6535
6534
@overload
6536
6535
def drop_duplicates (
6537
6536
self ,
6538
- subset : Hashable | Sequence [Hashable ] | AbstractSet | None = ...,
6537
+ subset : Hashable | Sequence [Hashable ] | set | None = ...,
6539
6538
* ,
6540
6539
keep : DropKeep = ...,
6541
6540
inplace : Literal [True ],
@@ -6545,7 +6544,7 @@ def drop_duplicates(
6545
6544
@overload
6546
6545
def drop_duplicates (
6547
6546
self ,
6548
- subset : Hashable | Sequence [Hashable ] | AbstractSet | None = ...,
6547
+ subset : Hashable | Sequence [Hashable ] | set | None = ...,
6549
6548
* ,
6550
6549
keep : DropKeep = ...,
6551
6550
inplace : Literal [False ] = ...,
@@ -6555,7 +6554,7 @@ def drop_duplicates(
6555
6554
@overload
6556
6555
def drop_duplicates (
6557
6556
self ,
6558
- subset : Hashable | Sequence [Hashable ] | AbstractSet | None = ...,
6557
+ subset : Hashable | Sequence [Hashable ] | set | None = ...,
6559
6558
* ,
6560
6559
keep : DropKeep = ...,
6561
6560
inplace : bool = ...,
@@ -6564,7 +6563,7 @@ def drop_duplicates(
6564
6563
6565
6564
def drop_duplicates (
6566
6565
self ,
6567
- subset : Hashable | Sequence [Hashable ] | AbstractSet | None = None ,
6566
+ subset : Hashable | Sequence [Hashable ] | set | None = None ,
6568
6567
* ,
6569
6568
keep : DropKeep = "first" ,
6570
6569
inplace : bool = False ,
@@ -6668,7 +6667,7 @@ def drop_duplicates(
6668
6667
6669
6668
def duplicated (
6670
6669
self ,
6671
- subset : Hashable | Sequence [Hashable ] | AbstractSet | None = None ,
6670
+ subset : Hashable | Sequence [Hashable ] | set | None = None ,
6672
6671
keep : DropKeep = "first" ,
6673
6672
) -> Series :
6674
6673
"""
@@ -6793,13 +6792,8 @@ def f(vals) -> tuple[np.ndarray, int]:
6793
6792
raise KeyError (Index (diff ))
6794
6793
6795
6794
if len (subset ) == 1 and self .columns .is_unique :
6796
- # GH#59237 adding support for single element sets
6797
- if isinstance (subset , set ):
6798
- elem = subset .pop ()
6799
- else :
6800
- elem = subset [0 ]
6801
6795
# GH#45236 This is faster than get_group_index below
6802
- result = self [elem ].duplicated (keep )
6796
+ result = self [next ( iter ( subset )) ].duplicated (keep )
6803
6797
result .name = None
6804
6798
else :
6805
6799
vals = (col .values for name , col in self .items () if name in subset )
0 commit comments