@@ -19,6 +19,7 @@ from pandas import Index
19
19
import pandas .core .indexing as indexing
20
20
from pandas .core .series import Series
21
21
import sqlalchemy .engine
22
+ from typing_extensions import Self
22
23
23
24
from pandas ._typing import (
24
25
S1 ,
@@ -39,7 +40,6 @@ from pandas._typing import (
39
40
IgnoreRaise ,
40
41
IndexLabel ,
41
42
Level ,
42
- NDFrameT ,
43
43
ReplaceMethod ,
44
44
SortKind ,
45
45
StorageOptions ,
@@ -57,11 +57,11 @@ class NDFrame(indexing.IndexingMixin):
57
57
__hash__ : ClassVar [None ] # type: ignore[assignment]
58
58
59
59
def set_flags (
60
- self : NDFrameT ,
60
+ self ,
61
61
* ,
62
62
copy : bool = ...,
63
63
allows_duplicate_labels : bool | None = ...,
64
- ) -> NDFrameT : ...
64
+ ) -> Self : ...
65
65
@property
66
66
def attrs (self ) -> dict [Hashable | None , Any ]: ...
67
67
@attrs .setter
@@ -74,19 +74,16 @@ class NDFrame(indexing.IndexingMixin):
74
74
def ndim (self ) -> int : ...
75
75
@property
76
76
def size (self ) -> int : ...
77
- def swapaxes (
78
- self , axis1 : AxisIndex , axis2 : AxisIndex , copy : _bool = ...
79
- ) -> NDFrame : ...
80
- def droplevel (self , level : Level , axis : AxisIndex = ...) -> NDFrame : ...
77
+ def droplevel (self , level : Level , axis : AxisIndex = ...) -> Self : ...
81
78
def squeeze (self , axis = ...): ...
82
79
def equals (self , other : Series [S1 ]) -> _bool : ...
83
- def __neg__ (self : NDFrameT ) -> NDFrameT : ...
84
- def __pos__ (self : NDFrameT ) -> NDFrameT : ...
80
+ def __neg__ (self ) -> Self : ...
81
+ def __pos__ (self ) -> Self : ...
85
82
def __nonzero__ (self ) -> None : ...
86
83
@final
87
84
def bool (self ) -> _bool : ...
88
- def __abs__ (self ) -> NDFrame : ...
89
- def __round__ (self , decimals : int = ...) -> NDFrame : ...
85
+ def __abs__ (self ) -> Self : ...
86
+ def __round__ (self , decimals : int = ...) -> Self : ...
90
87
def keys (self ): ...
91
88
def __len__ (self ) -> int : ...
92
89
def __contains__ (self , key ) -> _bool : ...
@@ -285,7 +282,7 @@ class NDFrame(indexing.IndexingMixin):
285
282
) -> _str : ...
286
283
def take (
287
284
self , indices , axis = ..., is_copy : _bool | None = ..., ** kwargs
288
- ) -> NDFrame : ...
285
+ ) -> Self : ...
289
286
def __delitem__ (self , idx : Hashable ) -> None : ...
290
287
def get (self , key : object , default : Dtype | None = ...) -> Dtype : ...
291
288
def reindex_like (
@@ -295,7 +292,7 @@ class NDFrame(indexing.IndexingMixin):
295
292
copy : _bool = ...,
296
293
limit = ...,
297
294
tolerance = ...,
298
- ) -> NDFrame : ...
295
+ ) -> Self : ...
299
296
@overload
300
297
def drop (
301
298
self ,
@@ -310,7 +307,7 @@ class NDFrame(indexing.IndexingMixin):
310
307
) -> None : ...
311
308
@overload
312
309
def drop (
313
- self : NDFrame ,
310
+ self ,
314
311
labels : Hashable | Sequence [Hashable ] = ...,
315
312
* ,
316
313
axis : Axis = ...,
@@ -319,10 +316,10 @@ class NDFrame(indexing.IndexingMixin):
319
316
level : Level | None = ...,
320
317
inplace : Literal [False ] = ...,
321
318
errors : IgnoreRaise = ...,
322
- ) -> NDFrame : ...
319
+ ) -> Self : ...
323
320
@overload
324
321
def drop (
325
- self : NDFrame ,
322
+ self ,
326
323
labels : Hashable | Sequence [Hashable ] = ...,
327
324
* ,
328
325
axis : Axis = ...,
@@ -331,9 +328,9 @@ class NDFrame(indexing.IndexingMixin):
331
328
level : Level | None = ...,
332
329
inplace : _bool = ...,
333
330
errors : IgnoreRaise = ...,
334
- ) -> NDFrame | None : ...
335
- def add_prefix (self , prefix : _str ) -> NDFrame : ...
336
- def add_suffix (self , suffix : _str ) -> NDFrame : ...
331
+ ) -> Self | None : ...
332
+ def add_prefix (self , prefix : _str ) -> Self : ...
333
+ def add_suffix (self , suffix : _str ) -> Self : ...
337
334
def sort_index (
338
335
self ,
339
336
* ,
@@ -352,30 +349,30 @@ class NDFrame(indexing.IndexingMixin):
352
349
like : _str | None = ...,
353
350
regex : _str | None = ...,
354
351
axis = ...,
355
- ) -> NDFrame : ...
356
- def head (self : NDFrameT , n : int = ...) -> NDFrameT : ...
357
- def tail (self : NDFrameT , n : int = ...) -> NDFrameT : ...
352
+ ) -> Self : ...
353
+ def head (self , n : int = ...) -> Self : ...
354
+ def tail (self , n : int = ...) -> Self : ...
358
355
def pipe (
359
356
self , func : Callable [..., T ] | tuple [Callable [..., T ], str ], * args , ** kwargs
360
357
) -> T : ...
361
- def __finalize__ (self , other , method = ..., ** kwargs ) -> NDFrame : ...
358
+ def __finalize__ (self , other , method = ..., ** kwargs ) -> Self : ...
362
359
def __setattr__ (self , name : _str , value ) -> None : ...
363
360
@property
364
361
def values (self ) -> ArrayLike : ...
365
362
@property
366
363
def dtypes (self ): ...
367
- def copy (self : NDFrameT , deep : _bool = ...) -> NDFrameT : ...
368
- def __copy__ (self , deep : _bool = ...) -> NDFrame : ...
369
- def __deepcopy__ (self , memo = ...) -> NDFrame : ...
370
- def infer_objects (self ) -> NDFrame : ...
364
+ def copy (self , deep : _bool = ...) -> Self : ...
365
+ def __copy__ (self , deep : _bool = ...) -> Self : ...
366
+ def __deepcopy__ (self , memo = ...) -> Self : ...
367
+ def infer_objects (self ) -> Self : ...
371
368
def convert_dtypes (
372
- self : NDFrameT ,
369
+ self ,
373
370
infer_objects : _bool = ...,
374
371
convert_string : _bool = ...,
375
372
convert_integer : _bool = ...,
376
373
convert_boolean : _bool = ...,
377
374
dtype_backend : DtypeBackend = ...,
378
- ) -> NDFrameT : ...
375
+ ) -> Self : ...
379
376
def fillna (
380
377
self ,
381
378
value = ...,
@@ -403,24 +400,24 @@ class NDFrame(indexing.IndexingMixin):
403
400
def notnull (self ) -> NDFrame : ...
404
401
def clip (
405
402
self , lower = ..., upper = ..., * , axis = ..., inplace : _bool = ..., ** kwargs
406
- ) -> NDFrame : ...
403
+ ) -> Self : ...
407
404
def asfreq (
408
405
self ,
409
406
freq ,
410
407
method : FillnaOptions | None = ...,
411
408
how : Literal ["start" , "end" ] | None = ...,
412
409
normalize : _bool = ...,
413
410
fill_value = ...,
414
- ) -> NDFrame : ...
415
- def at_time (self , time , asof : _bool = ..., axis = ...) -> NDFrame : ...
411
+ ) -> Self : ...
412
+ def at_time (self , time , asof : _bool = ..., axis = ...) -> Self : ...
416
413
def between_time (
417
414
self ,
418
415
start_time ,
419
416
end_time ,
420
417
axis = ...,
421
- ) -> NDFrame : ...
422
- def first (self , offset ) -> NDFrame : ...
423
- def last (self , offset ) -> NDFrame : ...
418
+ ) -> Self : ...
419
+ def first (self , offset ) -> Self : ...
420
+ def last (self , offset ) -> Self : ...
424
421
def rank (
425
422
self ,
426
423
axis = ...,
@@ -450,13 +447,11 @@ class NDFrame(indexing.IndexingMixin):
450
447
level = ...,
451
448
try_cast : _bool = ...,
452
449
): ...
453
- def shift (self , periods = ..., freq = ..., axis = ..., fill_value = ...) -> NDFrame : ...
454
- def slice_shift (self , periods : int = ..., axis = ...) -> NDFrame : ...
455
- def tshift (self , periods : int = ..., freq = ..., axis = ...) -> NDFrame : ...
456
- def truncate (
457
- self , before = ..., after = ..., axis = ..., copy : _bool = ...
458
- ) -> NDFrame : ...
459
- def tz_convert (self , tz , axis = ..., level = ..., copy : _bool = ...) -> NDFrame : ...
450
+ def shift (self , periods = ..., freq = ..., axis = ..., fill_value = ...) -> Self : ...
451
+ def slice_shift (self , periods : int = ..., axis = ...) -> Self : ...
452
+ def tshift (self , periods : int = ..., freq = ..., axis = ...) -> Self : ...
453
+ def truncate (self , before = ..., after = ..., axis = ..., copy : _bool = ...) -> Self : ...
454
+ def tz_convert (self , tz , axis = ..., level = ..., copy : _bool = ...) -> Self : ...
460
455
def tz_localize (
461
456
self ,
462
457
tz ,
@@ -465,8 +460,8 @@ class NDFrame(indexing.IndexingMixin):
465
460
copy : _bool = ...,
466
461
ambiguous = ...,
467
462
nonexistent : str = ...,
468
- ) -> NDFrame : ...
469
- def abs (self ) -> NDFrame : ...
463
+ ) -> Self : ...
464
+ def abs (self ) -> Self : ...
470
465
def describe (
471
466
self ,
472
467
percentiles = ...,
@@ -476,6 +471,6 @@ class NDFrame(indexing.IndexingMixin):
476
471
) -> NDFrame : ...
477
472
def pct_change (
478
473
self , periods = ..., fill_method = ..., limit = ..., freq = ..., ** kwargs
479
- ) -> NDFrame : ...
474
+ ) -> Self : ...
480
475
def first_valid_index (self ): ...
481
476
def last_valid_index (self ): ...
0 commit comments