Skip to content

Commit e2b1901

Browse files
committed
fix: comment
1 parent 61a9703 commit e2b1901

File tree

6 files changed

+14
-52
lines changed

6 files changed

+14
-52
lines changed

docs/philosophy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ type checkers and be warned if they are unreasonable.
9999

100100
When there are several possible valid outcomes of an arithmetic expression,
101101
for example numeric types `Series[bool]`, `Series[int]`, etc., `Series[Any]`
102-
will be given as the resulting typing.
102+
will be given as the resulting type of the arithmetic operation.
103103

104104
### Interval is Generic
105105

pandas-stubs/core/series.pyi

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2211,23 +2211,6 @@ class Series(IndexOpsMixin[S1], NDFrame):
22112211
@overload
22122212
def __and__(self, other: int | np_ndarray_anyint | Series[int]) -> Series[int]: ...
22132213
def __eq__(self, other: object) -> Series[_bool]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
2214-
@overload
2215-
def __floordiv__(
2216-
self: Series[Timedelta], other: float | Sequence[float]
2217-
) -> TimedeltaSeries: ...
2218-
@overload
2219-
def __floordiv__(
2220-
self: Series[Timedelta],
2221-
other: (
2222-
timedelta
2223-
| np.timedelta64
2224-
| np_ndarray_td
2225-
| TimedeltaIndex
2226-
| Series[Timedelta]
2227-
| TimedeltaSeries
2228-
),
2229-
) -> Series[int]: ...
2230-
@overload
22312214
def __floordiv__(self, other: num | _ListLike | Series[S1]) -> Series[int]: ...
22322215
def __ge__( # type: ignore[override]
22332216
self, other: S1 | _ListLike | Series[S1] | datetime | timedelta | date
@@ -2750,19 +2733,6 @@ class Series(IndexOpsMixin[S1], NDFrame):
27502733
@overload
27512734
def __rand__(self, other: int | np_ndarray_anyint | Series[int]) -> Series[int]: ...
27522735
def __rdivmod__(self, other: num | _ListLike | Series[S1]) -> Series[S1]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
2753-
@overload
2754-
def __rfloordiv__(
2755-
self: Series[Timedelta],
2756-
other: (
2757-
timedelta
2758-
| np.timedelta64
2759-
| np_ndarray_td
2760-
| TimedeltaIndex
2761-
| Series[Timedelta]
2762-
| TimedeltaSeries
2763-
),
2764-
) -> Series[int]: ...
2765-
@overload
27662736
def __rfloordiv__(self, other: num | _ListLike | Series[S1]) -> Series[S1]: ...
27672737
def __rmod__(self, other: num | _ListLike | Series[S1]) -> Series[S1]: ...
27682738
def __rpow__(self, other: num | _ListLike | Series[S1]) -> Series[S1]: ...
@@ -3034,7 +3004,7 @@ class Series(IndexOpsMixin[S1], NDFrame):
30343004
@overload
30353005
def sub(
30363006
self: Series[Timestamp],
3037-
other: datetime | np.datetime64 | np_ndarray_dt,
3007+
other: datetime | Sequence[datetime] | np.datetime64 | np_ndarray_dt,
30383008
level: Level | None = None,
30393009
fill_value: float | None = None,
30403010
axis: int = 0,
@@ -3052,6 +3022,7 @@ class Series(IndexOpsMixin[S1], NDFrame):
30523022
self: Series[Timestamp],
30533023
other: (
30543024
timedelta
3025+
| Sequence[timedelta]
30553026
| np.timedelta64
30563027
| np_ndarray_td
30573028
| TimedeltaIndex
@@ -3177,8 +3148,6 @@ class Series(IndexOpsMixin[S1], NDFrame):
31773148
| Series[complex]
31783149
),
31793150
) -> Series[complex]: ...
3180-
# @overload
3181-
# def __rsub__(self: Series[Timestamp], other: np_ndarray_td) -> Never: ...
31823151
@overload
31833152
def __rsub__(
31843153
self: Series[Timestamp], other: datetime | np.datetime64 | np_ndarray_dt
@@ -3322,18 +3291,10 @@ class Series(IndexOpsMixin[S1], NDFrame):
33223291
fill_value: float | None = None,
33233292
axis: int = 0,
33243293
) -> Series[complex]: ...
3325-
# @overload
3326-
# def rsub(
3327-
# self: Series[Timestamp],
3328-
# other: np_ndarray_td,
3329-
# level: Level | None = None,
3330-
# fill_value: float | None = None,
3331-
# axis: int = 0,
3332-
# ) -> Never: ...
33333294
@overload
33343295
def rsub(
33353296
self: Series[Timestamp],
3336-
other: datetime | np.datetime64 | np_ndarray_dt,
3297+
other: datetime | Sequence[datetime] | np.datetime64 | np_ndarray_dt,
33373298
level: Level | None = None,
33383299
fill_value: float | None = None,
33393300
axis: int = 0,

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ types-pytz = ">= 2022.1.1"
3636
numpy = ">= 1.23.5"
3737

3838
[tool.poetry.group.dev.dependencies]
39-
mypy = "1.17.1"
39+
mypy = "1.18.1"
4040
pandas = "2.3.2"
4141
pyarrow = ">=10.0.1"
4242
pytest = ">=7.1.2"

tests/series/arithmetic/test_sub.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,10 @@ def test_sub_ts_py_datetime() -> None:
167167
_5 = a - left_ts # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
168168

169169
check(assert_type(left_ts.sub(s), "TimedeltaSeries"), pd.Series, pd.Timedelta)
170-
if TYPE_CHECKING_INVALID_USAGE:
171-
left_ts.sub(a) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
170+
check(assert_type(left_ts.sub(a), "TimedeltaSeries"), pd.Series, pd.Timedelta)
172171

173172
check(assert_type(left_ts.rsub(s), "TimedeltaSeries"), pd.Series, pd.Timedelta)
174-
if TYPE_CHECKING_INVALID_USAGE:
175-
left_ts.rsub(a) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
173+
check(assert_type(left_ts.rsub(a), "TimedeltaSeries"), pd.Series, pd.Timedelta)
176174

177175

178176
def test_sub_ts_numpy_datetime() -> None:

tests/series/arithmetic/timestamp/test_add.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ def test_add_numpy_array() -> None:
118118
# `Series`.
119119
if TYPE_CHECKING_INVALID_USAGE:
120120
assert_type(s + left, "npt.NDArray[np.datetime64]")
121+
# Here even the dtype of `NDArray` is in the wrong direction.
122+
# `np.datetime64` would be more sensible.
121123
check(assert_type(d + left, "npt.NDArray[np.timedelta64]"), pd.Series, pd.Timestamp)
122124

123125
if TYPE_CHECKING_INVALID_USAGE:

tests/series/arithmetic/timestamp/test_sub.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,12 @@ def test_sub_py_sequence() -> None:
9292
_1 = s - left # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
9393
_b = d - left # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
9494

95-
left.sub(s) # type: ignore[call-overload] # pyright: ignore[reportArgumentType,reportCallIssue]
96-
left.sub(d) # type: ignore[call-overload] # pyright: ignore[reportArgumentType,reportCallIssue]
95+
left.sub(s)
96+
left.sub(d)
9797

98-
left.rsub(s) # type: ignore[call-overload] # pyright: ignore[reportArgumentType,reportCallIssue]
99-
left.rsub(d) # type: ignore[call-overload] # pyright: ignore[reportArgumentType,reportCallIssue]
98+
left.rsub(s)
99+
if TYPE_CHECKING_INVALID_USAGE:
100+
left.rsub(d) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
100101

101102

102103
def test_sub_numpy_array() -> None:

0 commit comments

Comments
 (0)