Skip to content

Commit d80f4e6

Browse files
committed
update signature of Series.pop pandas-dev#627
1 parent 636dac5 commit d80f4e6

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

pandas-stubs/core/series.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1021,7 +1021,7 @@ class Series(IndexOpsMixin, NDFrame, Generic[S1]):
10211021
def droplevel(
10221022
self, level: Level | list[Level], axis: AxisIndex = ...
10231023
) -> DataFrame: ...
1024-
def pop(self, item: _str) -> Series[S1]: ...
1024+
def pop(self, item: Hashable) -> Any: ...
10251025
def squeeze(self, axis: AxisIndex | None = ...) -> Scalar: ...
10261026
def __abs__(self) -> Series[S1]: ...
10271027
def add_prefix(self, prefix: _str) -> Series[S1]: ...

tests/test_series.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import datetime
44
from decimal import Decimal
5+
from enum import Enum
56
from pathlib import Path
67
import re
78
from typing import (
@@ -226,6 +227,21 @@ def test_types_dropna() -> None:
226227
assert assert_type(s.dropna(axis=0, inplace=True), None) is None
227228

228229

230+
def test_pop() -> None:
231+
# Testing pop support for hashable types
232+
# Due to the bug in https://github.com/pandas-dev/pandas-stubs/issues/627
233+
class MyEnum(Enum):
234+
FIRST = "tayyar"
235+
SECOND = "haydar"
236+
237+
df = pd.DataFrame(
238+
data=[[12.2, 10], [8.8, 15]], columns=[MyEnum.FIRST, MyEnum.SECOND]
239+
)
240+
series = df.loc[0]
241+
res = series.pop(MyEnum.FIRST)
242+
check(assert_type(res, Any), float)
243+
244+
229245
def test_types_fillna() -> None:
230246
s = pd.Series([1, np.nan, np.nan, 3])
231247
check(assert_type(s.fillna(0), pd.Series), pd.Series)

0 commit comments

Comments
 (0)