@@ -33,7 +33,10 @@ from pandas._libs.tslibs import (
33
33
from pandas ._libs .tslibs .period import Period
34
34
from pandas ._libs .tslibs .timestamps import Timestamp
35
35
from pandas ._typing import (
36
+ ShapeT ,
36
37
TimeUnit ,
38
+ np_1darray ,
39
+ np_ndarray ,
37
40
npt ,
38
41
)
39
42
@@ -153,12 +156,12 @@ class Timedelta(timedelta):
153
156
def __add__ (self , other : DatetimeIndex ) -> DatetimeIndex : ...
154
157
@overload
155
158
def __add__ (
156
- self , other : npt . NDArray [ np .timedelta64 ]
157
- ) -> npt . NDArray [ np .timedelta64 ]: ...
159
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
160
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
158
161
@overload
159
162
def __add__ (
160
- self , other : npt . NDArray [ np .datetime64 ]
161
- ) -> npt . NDArray [ np .datetime64 ]: ...
163
+ self , other : np_ndarray [ ShapeT , np .datetime64 ]
164
+ ) -> np_ndarray [ ShapeT , np .datetime64 ]: ...
162
165
@overload
163
166
def __add__ (self , other : pd .TimedeltaIndex ) -> pd .TimedeltaIndex : ...
164
167
@overload
@@ -176,12 +179,12 @@ class Timedelta(timedelta):
176
179
def __radd__ (self , other : NaTType ) -> NaTType : ...
177
180
@overload
178
181
def __radd__ (
179
- self , other : npt . NDArray [ np .timedelta64 ]
180
- ) -> npt . NDArray [ np .timedelta64 ]: ...
182
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
183
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
181
184
@overload
182
185
def __radd__ (
183
- self , other : npt . NDArray [ np .datetime64 ]
184
- ) -> npt . NDArray [ np .datetime64 ]: ...
186
+ self , other : np_ndarray [ ShapeT , np .datetime64 ]
187
+ ) -> np_ndarray [ ShapeT , np .datetime64 ]: ...
185
188
@overload
186
189
def __radd__ (self , other : pd .TimedeltaIndex ) -> pd .TimedeltaIndex : ...
187
190
@overload
@@ -193,8 +196,8 @@ class Timedelta(timedelta):
193
196
def __sub__ (self , other : NaTType ) -> NaTType : ...
194
197
@overload
195
198
def __sub__ (
196
- self , other : npt . NDArray [ np .timedelta64 ]
197
- ) -> npt . NDArray [ np .timedelta64 ]: ...
199
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
200
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
198
201
@overload
199
202
def __sub__ (self , other : pd .TimedeltaIndex ) -> TimedeltaIndex : ...
200
203
@overload
@@ -215,12 +218,12 @@ class Timedelta(timedelta):
215
218
def __rsub__ (self , other : DatetimeIndex ) -> DatetimeIndex : ...
216
219
@overload
217
220
def __rsub__ (
218
- self , other : npt . NDArray [ np .datetime64 ]
219
- ) -> npt . NDArray [ np .datetime64 ]: ...
221
+ self , other : np_ndarray [ ShapeT , np .datetime64 ]
222
+ ) -> np_ndarray [ ShapeT , np .datetime64 ]: ...
220
223
@overload
221
224
def __rsub__ (
222
- self , other : npt . NDArray [ np .timedelta64 ]
223
- ) -> npt . NDArray [ np .timedelta64 ]: ...
225
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
226
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
224
227
@overload
225
228
def __rsub__ (self , other : pd .TimedeltaIndex ) -> pd .TimedeltaIndex : ...
226
229
def __neg__ (self ) -> Timedelta : ...
@@ -231,8 +234,8 @@ class Timedelta(timedelta):
231
234
def __mul__ (self , other : float ) -> Timedelta : ...
232
235
@overload
233
236
def __mul__ (
234
- self , other : npt . NDArray [ np .integer ] | npt . NDArray [ np .floating ]
235
- ) -> npt . NDArray [ np .timedelta64 ]: ...
237
+ self , other : np_ndarray [ ShapeT , np .integer ] | np_ndarray [ ShapeT , np .floating ]
238
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
236
239
@overload
237
240
def __mul__ (self , other : Series [int ]) -> TimedeltaSeries : ...
238
241
@overload
@@ -243,8 +246,8 @@ class Timedelta(timedelta):
243
246
def __rmul__ (self , other : float ) -> Timedelta : ...
244
247
@overload
245
248
def __rmul__ (
246
- self , other : npt . NDArray [ np .floating ] | npt . NDArray [ np .integer ]
247
- ) -> npt . NDArray [ np .timedelta64 ]: ...
249
+ self , other : np_ndarray [ ShapeT , np .floating ] | np_ndarray [ ShapeT , np .integer ]
250
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
248
251
@overload
249
252
def __rmul__ (self , other : Series [int ]) -> TimedeltaSeries : ...
250
253
@overload
@@ -260,12 +263,12 @@ class Timedelta(timedelta):
260
263
def __floordiv__ (self , other : float ) -> Timedelta : ...
261
264
@overload
262
265
def __floordiv__ (
263
- self , other : npt . NDArray [ np .integer ] | npt . NDArray [ np .floating ]
264
- ) -> npt . NDArray [ np .timedelta64 ]: ...
266
+ self , other : np_ndarray [ ShapeT , np .integer ] | np_ndarray [ ShapeT , np .floating ]
267
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
265
268
@overload
266
269
def __floordiv__ (
267
- self , other : npt . NDArray [ np .timedelta64 ]
268
- ) -> npt . NDArray [ np .int_ ]: ...
270
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
271
+ ) -> np_ndarray [ ShapeT , np .int_ ]: ...
269
272
@overload
270
273
def __floordiv__ (self , other : Index [int ] | Index [float ]) -> TimedeltaIndex : ...
271
274
@overload
@@ -282,17 +285,17 @@ class Timedelta(timedelta):
282
285
def __rfloordiv__ (self , other : NaTType | None ) -> float : ...
283
286
@overload
284
287
def __rfloordiv__ (
285
- self , other : npt . NDArray [ np .timedelta64 ]
286
- ) -> npt . NDArray [ np .int_ ]: ...
288
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
289
+ ) -> np_ndarray [ ShapeT , np .int_ ]: ...
287
290
# Override due to more types supported than dt.timedelta
288
291
@overload # type: ignore[override]
289
292
def __truediv__ (self , other : timedelta | Timedelta | NaTType ) -> float : ...
290
293
@overload
291
294
def __truediv__ (self , other : float ) -> Timedelta : ...
292
295
@overload
293
296
def __truediv__ (
294
- self , other : npt . NDArray [ np .integer ] | npt . NDArray [ np .floating ]
295
- ) -> npt . NDArray [ np .timedelta64 ]: ...
297
+ self , other : np_ndarray [ ShapeT , np .integer ] | np_ndarray [ ShapeT , np .floating ]
298
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
296
299
@overload
297
300
def __truediv__ (self , other : TimedeltaSeries ) -> Series [float ]: ...
298
301
@overload
@@ -308,9 +311,11 @@ class Timedelta(timedelta):
308
311
@overload
309
312
def __eq__ (self , other : TimedeltaSeries | Series [pd .Timedelta ]) -> Series [bool ]: ... # type: ignore[overload-overlap]
310
313
@overload
314
+ def __eq__ (self , other : TimedeltaIndex ) -> np_1darray [np .bool ]: ... # type: ignore[overload-overlap]
315
+ @overload
311
316
def __eq__ ( # type: ignore[overload-overlap]
312
- self , other : TimedeltaIndex | npt . NDArray [ np .timedelta64 ]
313
- ) -> npt . NDArray [ np .bool_ ]: ...
317
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
318
+ ) -> np_ndarray [ ShapeT , np .bool_ ]: ...
314
319
@overload
315
320
def __eq__ (self , other : object ) -> Literal [False ]: ...
316
321
# Override due to more types supported than dt.timedelta
@@ -319,9 +324,11 @@ class Timedelta(timedelta):
319
324
@overload
320
325
def __ne__ (self , other : TimedeltaSeries | Series [pd .Timedelta ]) -> Series [bool ]: ... # type: ignore[overload-overlap]
321
326
@overload
327
+ def __ne__ (self , other : TimedeltaIndex ) -> np_1darray [np .bool ]: ... # type: ignore[overload-overlap]
328
+ @overload
322
329
def __ne__ ( # type: ignore[overload-overlap]
323
- self , other : TimedeltaIndex | npt . NDArray [ np .timedelta64 ]
324
- ) -> npt . NDArray [ np .bool_ ]: ...
330
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
331
+ ) -> np_ndarray [ ShapeT , np .bool_ ]: ...
325
332
@overload
326
333
def __ne__ (self , other : object ) -> Literal [True ]: ...
327
334
# Override due to more types supported than dt.timedelta
@@ -335,8 +342,8 @@ class Timedelta(timedelta):
335
342
def __mod__ (self , other : Index [int ] | Index [float ]) -> TimedeltaIndex : ...
336
343
@overload
337
344
def __mod__ (
338
- self , other : npt . NDArray [ np .integer ] | npt . NDArray [ np .floating ]
339
- ) -> npt . NDArray [ np .timedelta64 ]: ...
345
+ self , other : np_ndarray [ ShapeT , np .integer ] | np_ndarray [ ShapeT , np .floating ]
346
+ ) -> np_ndarray [ ShapeT , np .timedelta64 ]: ...
340
347
@overload
341
348
def __mod__ (
342
349
self , other : Series [int ] | Series [float ] | TimedeltaSeries
@@ -348,36 +355,44 @@ class Timedelta(timedelta):
348
355
@overload # type: ignore[override]
349
356
def __le__ (self , other : timedelta | Timedelta | np .timedelta64 ) -> bool : ... # type: ignore[misc]
350
357
@overload
358
+ def __le__ (self , other : TimedeltaIndex ) -> np_1darray [np .bool ]: ...
359
+ @overload
351
360
def __le__ (
352
- self , other : TimedeltaIndex | npt . NDArray [ np .timedelta64 ]
353
- ) -> npt . NDArray [ np .bool_ ]: ...
361
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
362
+ ) -> np_ndarray [ ShapeT , np .bool_ ]: ...
354
363
@overload
355
364
def __le__ (self , other : TimedeltaSeries | Series [pd .Timedelta ]) -> Series [bool ]: ...
356
365
# Override due to more types supported than dt.timedelta
357
366
@overload # type: ignore[override]
358
367
def __lt__ (self , other : timedelta | Timedelta | np .timedelta64 ) -> bool : ... # type: ignore[misc]
359
368
@overload
369
+ def __lt__ (self , other : TimedeltaIndex ) -> np_1darray [np .bool ]: ...
370
+ @overload
360
371
def __lt__ (
361
- self , other : TimedeltaIndex | npt . NDArray [ np .timedelta64 ]
362
- ) -> npt . NDArray [ np .bool_ ]: ...
372
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
373
+ ) -> np_ndarray [ ShapeT , np .bool_ ]: ...
363
374
@overload
364
375
def __lt__ (self , other : TimedeltaSeries | Series [pd .Timedelta ]) -> Series [bool ]: ...
365
376
# Override due to more types supported than dt.timedelta
366
377
@overload # type: ignore[override]
367
378
def __ge__ (self , other : timedelta | Timedelta | np .timedelta64 ) -> bool : ... # type: ignore[misc]
368
379
@overload
380
+ def __ge__ (self , other : TimedeltaIndex ) -> np_1darray [np .bool ]: ...
381
+ @overload
369
382
def __ge__ (
370
- self , other : TimedeltaIndex | npt . NDArray [ np .timedelta64 ]
371
- ) -> npt . NDArray [ np .bool_ ]: ...
383
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
384
+ ) -> np_ndarray [ ShapeT , np .bool_ ]: ...
372
385
@overload
373
386
def __ge__ (self , other : TimedeltaSeries | Series [pd .Timedelta ]) -> Series [bool ]: ...
374
387
# Override due to more types supported than dt.timedelta
375
388
@overload # type: ignore[override]
376
389
def __gt__ (self , other : timedelta | Timedelta | np .timedelta64 ) -> bool : ... # type: ignore[misc]
377
390
@overload
391
+ def __gt__ (self , other : TimedeltaIndex ) -> np_1darray [np .bool ]: ...
392
+ @overload
378
393
def __gt__ (
379
- self , other : TimedeltaIndex | npt . NDArray [ np .timedelta64 ]
380
- ) -> npt . NDArray [ np .bool_ ]: ...
394
+ self , other : np_ndarray [ ShapeT , np .timedelta64 ]
395
+ ) -> np_ndarray [ ShapeT , np .bool_ ]: ...
381
396
@overload
382
397
def __gt__ (self , other : TimedeltaSeries | Series [pd .Timedelta ]) -> Series [bool ]: ...
383
398
def __hash__ (self ) -> int : ...
0 commit comments