Skip to content

Commit ca3ed5f

Browse files
GH1053 PR Feedback
1 parent 973d827 commit ca3ed5f

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

pandas-stubs/core/frame.pyi

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -626,9 +626,11 @@ class DataFrame(NDFrame, OpsMixin):
626626
self, expr: _str, *, inplace: Literal[False] = ..., **kwargs
627627
) -> DataFrame: ...
628628
@overload
629-
def eval(self, expr: _str, *, inplace: Literal[False] = ..., **kwargs): ...
629+
def eval(self, expr: _str, *, inplace: Literal[True], **kwargs) -> None: ...
630630
@overload
631-
def eval(self, expr: _str, *, inplace: Literal[True] = ..., **kwargs) -> None: ...
631+
def eval(
632+
self, expr: _str, *, inplace: Literal[False] = ..., **kwargs
633+
) -> Scalar | np.ndarray | DataFrame | Series: ...
632634
AstypeArgExt: TypeAlias = (
633635
AstypeArg
634636
| Literal[

tests/test_frame.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,7 @@ def test_types_eval() -> None:
485485
df = pd.DataFrame(data={"col1": [1, 2, 3, 4], "col2": [3, 0, 1, 7]})
486486
check(assert_type(df.eval("E = col1 > col2", inplace=True), None), type(None))
487487
check(assert_type(df.eval("C = col1 % col2 == 0", inplace=True), None), type(None))
488+
check(assert_type(df.eval("E = col1 > col2"), Scalar | np.ndarray | pd.DataFrame | pd.Series), pd.DataFrame)
488489

489490

490491
def test_types_sort_values() -> None:
@@ -1234,7 +1235,8 @@ def test_types_groupby() -> None:
12341235
pd.DataFrame,
12351236
)
12361237
check(assert_type(df.groupby("col1").transform("sum"), pd.DataFrame), pd.DataFrame)
1237-
s1: pd.Series = df.set_index("col1")["col2"]
1238+
s1 = df.set_index("col1")["col2"]
1239+
check(assert_type(s1, pd.Series), pd.Series)
12381240
check(assert_type(s1.groupby("col1").transform("sum"), pd.Series), pd.Series)
12391241

12401242

@@ -2144,8 +2146,7 @@ def test_types_regressions() -> None:
21442146
ts2: pd.Series = pd.concat([s1, s2])
21452147

21462148
# https://github.com/microsoft/python-type-stubs/issues/110
2147-
# TODO the type inference below is broken, a Timestamp is not inferring as datetime.date
2148-
d: datetime.date = pd.Timestamp("2021-01-01")
2149+
check(assert_type(pd.Timestamp("2021-01-01"), pd.Timestamp), datetime.date)
21492150
tslist: list[pd.Timestamp] = list(pd.to_datetime(["2022-01-01", "2022-01-02"]))
21502151
sseries = pd.Series(tslist)
21512152
with pytest_warns_bounded(FutureWarning, "'d' is deprecated", lower="2.2.99"):

0 commit comments

Comments
 (0)