@@ -187,7 +187,6 @@ from pandas._typing import (
187
187
np_ndarray_anyint ,
188
188
np_ndarray_bool ,
189
189
np_ndarray_complex ,
190
- np_ndarray_dt ,
191
190
np_ndarray_float ,
192
191
np_ndarray_str ,
193
192
np_ndarray_td ,
@@ -259,9 +258,20 @@ class _LocIndexerSeries(_LocIndexer, Generic[S1]):
259
258
value : S1 | ArrayLike | Series [S1 ] | None ,
260
259
) -> None : ...
261
260
262
- _ListLike : TypeAlias = (
261
+ _ListLike : TypeAlias = ArrayLike | dict [_str , np .ndarray ] | SequenceNotStr [S1 ]
262
+ _ListLikeS1 : TypeAlias = (
263
263
ArrayLike | dict [_str , np .ndarray ] | Sequence [S1 ] | IndexOpsMixin [S1 ]
264
264
)
265
+ _NumListLike : TypeAlias = (
266
+ ExtensionArray
267
+ | np_ndarray_bool
268
+ | np_ndarray_anyint
269
+ | np_ndarray_float
270
+ | np_ndarray_complex
271
+ | dict [_str , np .ndarray ]
272
+ | Sequence [complex ]
273
+ | IndexOpsMixin [complex ]
274
+ )
265
275
266
276
class Series (IndexOpsMixin [S1 ], NDFrame ):
267
277
# Define __index__ because mypy thinks Series follows protocol `SupportsIndex` https://github.com/pandas-dev/pandas-stubs/pull/1332#discussion_r2285648790
@@ -417,7 +427,9 @@ class Series(IndexOpsMixin[S1], NDFrame):
417
427
@overload
418
428
def __new__ (
419
429
cls ,
420
- data : S1 | _ListLike [S1 ] | dict [HashableT1 , S1 ] | KeysView [S1 ] | ValuesView [S1 ],
430
+ data : (
431
+ S1 | _ListLikeS1 [S1 ] | dict [HashableT1 , S1 ] | KeysView [S1 ] | ValuesView [S1 ]
432
+ ),
421
433
index : AxesData | None = ...,
422
434
dtype : Dtype = ...,
423
435
name : Hashable = ...,
@@ -1617,7 +1629,9 @@ class Series(IndexOpsMixin[S1], NDFrame):
1617
1629
# just failed to generate these so I couldn't match
1618
1630
# them up.
1619
1631
@overload
1620
- def __add__ (self : Series [Never ], other : Scalar | _ListLike | Series ) -> Series : ...
1632
+ def __add__ (self : Series [Never ], other : _str ) -> Never : ...
1633
+ @overload
1634
+ def __add__ (self : Series [Never ], other : complex | _ListLike | Series ) -> Series : ...
1621
1635
@overload
1622
1636
def __add__ (self , other : Series [Never ]) -> Series : ...
1623
1637
@overload
@@ -1695,7 +1709,15 @@ class Series(IndexOpsMixin[S1], NDFrame):
1695
1709
@overload
1696
1710
def add (
1697
1711
self : Series [Never ],
1698
- other : Scalar | _ListLike | Series ,
1712
+ other : _str ,
1713
+ level : Level | None = None ,
1714
+ fill_value : float | None = None ,
1715
+ axis : int = 0 ,
1716
+ ) -> Never : ...
1717
+ @overload
1718
+ def add (
1719
+ self : Series [Never ],
1720
+ other : complex | _ListLike | Series ,
1699
1721
level : Level | None = None ,
1700
1722
fill_value : float | None = None ,
1701
1723
axis : int = 0 ,
@@ -1838,7 +1860,11 @@ class Series(IndexOpsMixin[S1], NDFrame):
1838
1860
axis : int = 0 ,
1839
1861
) -> Series [_str ]: ...
1840
1862
@overload # type: ignore[override]
1841
- def __radd__ (self : Series [Never ], other : Scalar | _ListLike ) -> Series : ...
1863
+ def __radd__ (self : Series [Never ], other : _str ) -> Never : ...
1864
+ @overload
1865
+ def __radd__ (
1866
+ self : Series [Never ], other : complex | _ListLike | Series
1867
+ ) -> Series : ...
1842
1868
@overload
1843
1869
def __radd__ (
1844
1870
self : Series [bool ],
@@ -1910,7 +1936,23 @@ class Series(IndexOpsMixin[S1], NDFrame):
1910
1936
@overload
1911
1937
def radd (
1912
1938
self : Series [Never ],
1913
- other : Scalar | _ListLike | Series ,
1939
+ other : _str ,
1940
+ level : Level | None = None ,
1941
+ fill_value : float | None = None ,
1942
+ axis : int = 0 ,
1943
+ ) -> Never : ...
1944
+ @overload
1945
+ def radd (
1946
+ self : Series [Never ],
1947
+ other : complex | _ListLike | Series ,
1948
+ level : Level | None = None ,
1949
+ fill_value : float | None = None ,
1950
+ axis : int = 0 ,
1951
+ ) -> Series : ...
1952
+ @overload
1953
+ def radd (
1954
+ self : Series [S1 ],
1955
+ other : Series [Never ],
1914
1956
level : Level | None = None ,
1915
1957
fill_value : float | None = None ,
1916
1958
axis : int = 0 ,
@@ -2049,7 +2091,9 @@ class Series(IndexOpsMixin[S1], NDFrame):
2049
2091
self , other : S1 | _ListLike | Series [S1 ] | datetime | timedelta | date
2050
2092
) -> Series [_bool ]: ...
2051
2093
@overload
2052
- def __mul__ (self : Series [Never ], other : complex | _ListLike | Series ) -> Series : ...
2094
+ def __mul__ (
2095
+ self : Series [Never ], other : complex | _NumListLike | Series
2096
+ ) -> Series : ...
2053
2097
@overload
2054
2098
def __mul__ (self , other : Series [Never ]) -> Series : ... # type: ignore[overload-overlap]
2055
2099
@overload
@@ -2244,7 +2288,7 @@ class Series(IndexOpsMixin[S1], NDFrame):
2244
2288
) -> TimedeltaSeries : ...
2245
2289
@overload
2246
2290
def __rmul__ (
2247
- self : Series [Never ], other : complex | _ListLike | Series
2291
+ self : Series [Never ], other : complex | _NumListLike | Series
2248
2292
) -> Series : ...
2249
2293
@overload
2250
2294
def __rmul__ (self , other : Series [Never ]) -> Series : ... # type: ignore[overload-overlap]
@@ -2473,12 +2517,11 @@ class Series(IndexOpsMixin[S1], NDFrame):
2473
2517
@overload
2474
2518
def __rxor__ (self , other : int | np_ndarray_anyint | Series [int ]) -> Series [int ]: ...
2475
2519
@overload
2476
- def __sub__ (
2477
- self : Series [Never ],
2478
- other : datetime | np .datetime64 | np_ndarray_dt | TimestampSeries ,
2479
- ) -> TimedeltaSeries : ...
2520
+ def __sub__ (self : Series [Never ], other : TimestampSeries ) -> Never : ...
2480
2521
@overload
2481
- def __sub__ (self : Series [Never ], other : complex | _ListLike | Series ) -> Series : ...
2522
+ def __sub__ (
2523
+ self : Series [Never ], other : complex | _NumListLike | Series
2524
+ ) -> Series : ...
2482
2525
@overload
2483
2526
def __sub__ (self , other : Series [Never ]) -> Series : ... # type: ignore[overload-overlap]
2484
2527
@overload
@@ -2569,15 +2612,15 @@ class Series(IndexOpsMixin[S1], NDFrame):
2569
2612
@overload
2570
2613
def sub (
2571
2614
self : Series [Never ],
2572
- other : datetime | np . datetime64 | np_ndarray_dt | TimestampSeries ,
2615
+ other : TimestampSeries ,
2573
2616
level : Level | None = None ,
2574
2617
fill_value : float | None = None ,
2575
2618
axis : int = 0 ,
2576
- ) -> TimedeltaSeries : ...
2619
+ ) -> Never : ...
2577
2620
@overload
2578
2621
def sub (
2579
2622
self : Series [Never ],
2580
- other : complex | _ListLike | Series ,
2623
+ other : complex | _NumListLike | Series ,
2581
2624
level : Level | None = None ,
2582
2625
fill_value : float | None = None ,
2583
2626
axis : int = 0 ,
@@ -2703,13 +2746,10 @@ class Series(IndexOpsMixin[S1], NDFrame):
2703
2746
axis : int = 0 ,
2704
2747
) -> TimedeltaSeries : ...
2705
2748
@overload
2706
- def __rsub__ ( # type: ignore[misc]
2707
- self : Series [Never ],
2708
- other : datetime | np .datetime64 | np_ndarray_dt | TimestampSeries ,
2709
- ) -> TimedeltaSeries : ...
2749
+ def __rsub__ (self : Series [Never ], other : TimestampSeries ) -> Never : ... # type: ignore[misc]
2710
2750
@overload
2711
2751
def __rsub__ (
2712
- self : Series [Never ], other : complex | _ListLike | Series
2752
+ self : Series [Never ], other : complex | _NumListLike | Series
2713
2753
) -> Series : ...
2714
2754
@overload
2715
2755
def __rsub__ (self , other : Series [Never ]) -> Series : ...
@@ -2779,15 +2819,15 @@ class Series(IndexOpsMixin[S1], NDFrame):
2779
2819
@overload
2780
2820
def rsub (
2781
2821
self : Series [Never ],
2782
- other : datetime | np . datetime64 | np_ndarray_dt | TimestampSeries ,
2822
+ other : TimestampSeries ,
2783
2823
level : Level | None = None ,
2784
2824
fill_value : float | None = None ,
2785
2825
axis : int = 0 ,
2786
- ) -> TimedeltaSeries : ...
2826
+ ) -> Never : ...
2787
2827
@overload
2788
2828
def rsub (
2789
2829
self : Series [Never ],
2790
- other : complex | _ListLike | Series ,
2830
+ other : complex | _NumListLike | Series ,
2791
2831
level : Level | None = None ,
2792
2832
fill_value : float | None = None ,
2793
2833
axis : int = 0 ,
@@ -2885,8 +2925,8 @@ class Series(IndexOpsMixin[S1], NDFrame):
2885
2925
axis : int = 0 ,
2886
2926
) -> Series [complex ]: ...
2887
2927
@overload
2888
- def __truediv__ (
2889
- self : Series [Never ], other : complex | _ListLike | Series
2928
+ def __truediv__ ( # type:ignore[overload-overlap]
2929
+ self : Series [Never ], other : complex | _NumListLike | Series
2890
2930
) -> Series : ...
2891
2931
@overload
2892
2932
def __truediv__ (self , other : Series [Never ]) -> Series : ...
@@ -3081,8 +3121,8 @@ class Series(IndexOpsMixin[S1], NDFrame):
3081
3121
) -> Series : ...
3082
3122
div = truediv
3083
3123
@overload
3084
- def __rtruediv__ (
3085
- self : Series [Never ], other : complex | _ListLike | Series
3124
+ def __rtruediv__ ( # type:ignore[overload-overlap]
3125
+ self : Series [Never ], other : complex | _NumListLike | Series
3086
3126
) -> Series : ...
3087
3127
@overload
3088
3128
def __rtruediv__ (self , other : Series [Never ]) -> Series : ...
0 commit comments