@@ -18,7 +18,10 @@ from typing import (
18
18
overload ,
19
19
)
20
20
21
- from _typing import TimeZones
21
+ from _typing import (
22
+ FloatFormatType ,
23
+ TimeZones ,
24
+ )
22
25
from matplotlib .axes import Axes as PlotAxes
23
26
import numpy as np
24
27
from pandas import (
@@ -67,6 +70,7 @@ from pandas._libs.lib import NoDefault
67
70
from pandas ._libs .missing import NAType
68
71
from pandas ._libs .tslibs import BaseOffset
69
72
from pandas ._libs .tslibs .nattype import NaTType
73
+ from pandas ._libs .tslibs .offsets import DateOffset
70
74
from pandas ._typing import (
71
75
S1 ,
72
76
AggFuncTypeBase ,
@@ -87,7 +91,6 @@ from pandas._typing import (
87
91
FilePath ,
88
92
FillnaOptions ,
89
93
FormattersType ,
90
- Frequency ,
91
94
GroupByObjectNonScalar ,
92
95
HashableT ,
93
96
HashableT1 ,
@@ -173,7 +176,16 @@ class _iLocIndexerFrame(_iLocIndexer, Generic[_T]):
173
176
| tuple [IndexType , IndexType ]
174
177
| tuple [int , IndexType ]
175
178
),
176
- value : Scalar | Series | DataFrame | np .ndarray | NAType | NaTType | None ,
179
+ value : (
180
+ Scalar
181
+ | Series
182
+ | DataFrame
183
+ | np .ndarray
184
+ | NAType
185
+ | NaTType
186
+ | Mapping [Hashable , Scalar | NAType | NaTType ]
187
+ | None
188
+ ),
177
189
) -> None : ...
178
190
179
191
class _LocIndexerFrame (_LocIndexer , Generic [_T ]):
@@ -236,13 +248,23 @@ class _LocIndexerFrame(_LocIndexer, Generic[_T]):
236
248
idx : (
237
249
MaskType | StrLike | _IndexSliceTuple | list [ScalarT ] | IndexingInt | slice
238
250
),
239
- value : Scalar | NAType | NaTType | ArrayLike | Series | DataFrame | list | None ,
251
+ value : (
252
+ Scalar
253
+ | NAType
254
+ | NaTType
255
+ | ArrayLike
256
+ | Series
257
+ | DataFrame
258
+ | list
259
+ | Mapping [Hashable , Scalar | NAType | NaTType ]
260
+ | None
261
+ ),
240
262
) -> None : ...
241
263
@overload
242
264
def __setitem__ (
243
265
self ,
244
266
idx : tuple [_IndexSliceTuple , Hashable ],
245
- value : Scalar | NAType | NaTType | ArrayLike | Series | list | None ,
267
+ value : Scalar | NAType | NaTType | ArrayLike | Series | list | dict | None ,
246
268
) -> None : ...
247
269
248
270
# With mypy 1.14.1 and python 3.12, the second overload needs a type-ignore statement
@@ -844,10 +866,10 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
844
866
) -> Self : ...
845
867
def shift (
846
868
self ,
847
- periods : int = ...,
848
- freq : Frequency | dt .timedelta | None = ...,
869
+ periods : int | Sequence [ int ] = ...,
870
+ freq : DateOffset | dt .timedelta | _str | None = ...,
849
871
axis : Axis = ...,
850
- fill_value : Hashable | None = ...,
872
+ fill_value : Scalar | NAType | None = ...,
851
873
) -> Self : ...
852
874
@overload
853
875
def set_index (
@@ -1749,23 +1771,73 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
1749
1771
@overload
1750
1772
def clip (
1751
1773
self ,
1752
- lower : float | AnyArrayLike | None = ...,
1753
- upper : float | AnyArrayLike | None = ...,
1774
+ lower : float | None = ...,
1775
+ upper : float | None = ...,
1754
1776
* ,
1755
1777
axis : Axis | None = ...,
1756
- inplace : Literal [True ] ,
1778
+ inplace : Literal [False ] = ... ,
1757
1779
** kwargs : Any ,
1758
- ) -> None : ...
1780
+ ) -> Self : ...
1759
1781
@overload
1760
1782
def clip (
1761
1783
self ,
1762
- lower : float | AnyArrayLike | None = ...,
1763
- upper : float | AnyArrayLike | None = ...,
1784
+ lower : AnyArrayLike = ...,
1785
+ upper : AnyArrayLike | None = ...,
1764
1786
* ,
1765
- axis : Axis | None = ...,
1787
+ axis : Axis = ...,
1788
+ inplace : Literal [False ] = ...,
1789
+ ** kwargs : Any ,
1790
+ ) -> Self : ...
1791
+ @overload
1792
+ def clip (
1793
+ self ,
1794
+ lower : AnyArrayLike | None = ...,
1795
+ upper : AnyArrayLike = ...,
1796
+ * ,
1797
+ axis : Axis = ...,
1766
1798
inplace : Literal [False ] = ...,
1767
1799
** kwargs : Any ,
1768
1800
) -> Self : ...
1801
+ @overload
1802
+ def clip ( # pyright: ignore[reportOverlappingOverload]
1803
+ self ,
1804
+ lower : None = ...,
1805
+ upper : None = ...,
1806
+ * ,
1807
+ axis : Axis | None = ...,
1808
+ inplace : Literal [True ],
1809
+ ** kwargs : Any ,
1810
+ ) -> Self : ...
1811
+ @overload
1812
+ def clip (
1813
+ self ,
1814
+ lower : float | None = ...,
1815
+ upper : float | None = ...,
1816
+ * ,
1817
+ axis : Axis | None = ...,
1818
+ inplace : Literal [True ],
1819
+ ** kwargs : Any ,
1820
+ ) -> None : ...
1821
+ @overload
1822
+ def clip (
1823
+ self ,
1824
+ lower : AnyArrayLike = ...,
1825
+ upper : AnyArrayLike | None = ...,
1826
+ * ,
1827
+ axis : Axis = ...,
1828
+ inplace : Literal [True ],
1829
+ ** kwargs : Any ,
1830
+ ) -> None : ...
1831
+ @overload
1832
+ def clip (
1833
+ self ,
1834
+ lower : AnyArrayLike | None = ...,
1835
+ upper : AnyArrayLike = ...,
1836
+ * ,
1837
+ axis : Axis = ...,
1838
+ inplace : Literal [True ],
1839
+ ** kwargs : Any ,
1840
+ ) -> None : ...
1769
1841
def copy (self , deep : _bool = ...) -> Self : ...
1770
1842
def cummax (
1771
1843
self , axis : Axis | None = ..., skipna : _bool = ..., * args : Any , ** kwargs : Any
@@ -2003,9 +2075,10 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
2003
2075
self ,
2004
2076
periods : int = ...,
2005
2077
fill_method : None = ...,
2006
- limit : int | None = ...,
2007
- freq = ...,
2008
- ** kwargs : Any , # TODO: make more precise https://github.com/pandas-dev/pandas-stubs/issues/1169
2078
+ freq : DateOffset | dt .timedelta | _str | None = ...,
2079
+ * ,
2080
+ axis : Axis = ...,
2081
+ fill_value : Scalar | NAType | None = ...,
2009
2082
) -> Self : ...
2010
2083
def pop (self , item : _str ) -> Series : ...
2011
2084
def pow (
@@ -2204,7 +2277,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
2204
2277
numeric_only : _bool = ...,
2205
2278
** kwargs : Any ,
2206
2279
) -> Series : ...
2207
- def squeeze (self , axis : Axis | None = ...): ...
2280
+ def squeeze (self , axis : Axis | None = ...) -> DataFrame | Series | Scalar : ...
2208
2281
def std (
2209
2282
self ,
2210
2283
axis : Axis = ...,
@@ -2240,12 +2313,6 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
2240
2313
def swapaxes (self , axis1 : Axis , axis2 : Axis , copy : _bool = ...) -> Self : ...
2241
2314
def tail (self , n : int = ...) -> Self : ...
2242
2315
def take (self , indices : list , axis : Axis = ..., ** kwargs : Any ) -> Self : ...
2243
- def to_clipboard (
2244
- self ,
2245
- excel : _bool = ...,
2246
- sep : _str | None = ...,
2247
- ** kwargs : Any , # TODO: make more precise https://github.com/pandas-dev/pandas-stubs/issues/1174
2248
- ) -> None : ...
2249
2316
@overload
2250
2317
def to_json (
2251
2318
self ,
@@ -2330,7 +2397,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
2330
2397
index : _bool = ...,
2331
2398
na_rep : _str = ...,
2332
2399
formatters : FormattersType | None = ...,
2333
- float_format : Callable [[ float ], str ] | None = ...,
2400
+ float_format : FloatFormatType | None = ...,
2334
2401
sparsify : _bool | None = ...,
2335
2402
index_names : _bool = ...,
2336
2403
justify : _str | None = ...,
@@ -2353,7 +2420,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
2353
2420
index : _bool = ...,
2354
2421
na_rep : _str = ...,
2355
2422
formatters : FormattersType | None = ...,
2356
- float_format : Callable [[ float ], str ] | None = ...,
2423
+ float_format : FloatFormatType | None = ...,
2357
2424
sparsify : _bool | None = ...,
2358
2425
index_names : _bool = ...,
2359
2426
justify : _str | None = ...,
0 commit comments