Skip to content

Commit 8078382

Browse files
committed
type freq in shift, consistently use Frequency alias
1 parent b984cba commit 8078382

File tree

8 files changed

+44
-44
lines changed

8 files changed

+44
-44
lines changed

pandas-stubs/_libs/tslibs/period.pyi

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ from pandas._libs.tslibs import NaTType
2121
from pandas._libs.tslibs.offsets import BaseOffset
2222
from pandas._libs.tslibs.timestamps import Timestamp
2323
from pandas._typing import (
24+
Frequency,
2425
ShapeT,
2526
np_1darray,
2627
np_ndarray,
@@ -65,7 +66,7 @@ class Period(PeriodMixin):
6566
value: (
6667
Period | str | datetime.datetime | datetime.date | Timestamp | None
6768
) = ...,
68-
freq: str | BaseOffset | None = ...,
69+
freq: Frequency | None = ...,
6970
ordinal: int | None = ...,
7071
year: int | None = ...,
7172
month: int | None = ...,
@@ -229,12 +230,12 @@ class Period(PeriodMixin):
229230
def day_of_year(self) -> int: ...
230231
@property
231232
def day_of_week(self) -> int: ...
232-
def asfreq(self, freq: str | BaseOffset, how: _PeriodFreqHow = "end") -> Period: ...
233+
def asfreq(self, freq: Frequency, how: _PeriodFreqHow = "end") -> Period: ...
233234
@classmethod
234-
def now(cls, freq: str | BaseOffset = ...) -> Period: ...
235+
def now(cls, freq: Frequency = ...) -> Period: ...
235236
def strftime(self, fmt: str) -> str: ...
236237
def to_timestamp(
237238
self,
238-
freq: str | BaseOffset | None = ...,
239+
freq: Frequency | None = ...,
239240
how: _PeriodToTimestampHow = "S",
240241
) -> Timestamp: ...

pandas-stubs/_libs/tslibs/timedeltas.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ from typing_extensions import (
2323
)
2424

2525
from pandas._libs.tslibs import (
26-
BaseOffset,
2726
NaTType,
2827
)
2928
from pandas._libs.tslibs.period import Period
3029
from pandas._libs.tslibs.timestamps import Timestamp
3130
from pandas._typing import (
31+
Frequency,
3232
ShapeT,
3333
TimeUnit,
3434
np_1darray,
@@ -130,9 +130,9 @@ class Timedelta(timedelta):
130130
@property
131131
def asm8(self) -> np.timedelta64: ...
132132
# TODO: round/floor/ceil could return NaT?
133-
def round(self, freq: str | BaseOffset) -> Self: ...
134-
def floor(self, freq: str | BaseOffset) -> Self: ...
135-
def ceil(self, freq: str | BaseOffset) -> Self: ...
133+
def round(self, freq: Frequency) -> Self: ...
134+
def floor(self, freq: Frequency) -> Self: ...
135+
def ceil(self, freq: Frequency) -> Self: ...
136136
@property
137137
def resolution_string(self) -> str: ...
138138
# Override due to more types supported than dt.timedelta

pandas-stubs/core/frame.pyi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ from pandas._typing import (
106106
FillnaOptions,
107107
FloatFormatType,
108108
FormattersType,
109+
Frequency,
109110
GroupByObjectNonScalar,
110111
HashableT,
111112
HashableT1,
@@ -2341,7 +2342,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
23412342
@overload
23422343
def rolling(
23432344
self,
2344-
window: int | str | dt.timedelta | BaseOffset | BaseIndexer,
2345+
window: int | Frequency | dt.timedelta | BaseIndexer,
23452346
min_periods: int | None = ...,
23462347
center: _bool = ...,
23472348
on: Hashable | None = ...,
@@ -2355,7 +2356,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
23552356
@overload
23562357
def rolling(
23572358
self,
2358-
window: int | str | dt.timedelta | BaseOffset | BaseIndexer,
2359+
window: int | Frequency | dt.timedelta | BaseIndexer,
23592360
min_periods: int | None = ...,
23602361
center: _bool = ...,
23612362
on: Hashable | None = ...,

pandas-stubs/core/indexes/accessors.pyi

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ from pandas.core.series import (
3333
from typing_extensions import Never
3434

3535
from pandas._libs.tslibs import BaseOffset
36-
from pandas._libs.tslibs.offsets import DateOffset
3736
from pandas._libs.tslibs.period import Period
3837
from pandas._typing import (
3938
S1,
39+
Frequency,
4040
TimeAmbiguous,
4141
TimeNonexistent,
4242
TimestampConvention,
@@ -174,7 +174,7 @@ _DTTimestampTimedeltaReturnType = TypeVar(
174174
class _DatetimeRoundingMethods(Generic[_DTTimestampTimedeltaReturnType]):
175175
def round(
176176
self,
177-
freq: str | BaseOffset | None,
177+
freq: Frequency | None,
178178
ambiguous: Literal["raise", "infer", "NaT"] | bool | np_ndarray_bool = ...,
179179
nonexistent: (
180180
Literal["shift_forward", "shift_backward", "NaT", "raise"]
@@ -184,7 +184,7 @@ class _DatetimeRoundingMethods(Generic[_DTTimestampTimedeltaReturnType]):
184184
) -> _DTTimestampTimedeltaReturnType: ...
185185
def floor(
186186
self,
187-
freq: str | BaseOffset | None,
187+
freq: Frequency | None,
188188
ambiguous: Literal["raise", "infer", "NaT"] | bool | np_ndarray_bool = ...,
189189
nonexistent: (
190190
Literal["shift_forward", "shift_backward", "NaT", "raise"]
@@ -194,7 +194,7 @@ class _DatetimeRoundingMethods(Generic[_DTTimestampTimedeltaReturnType]):
194194
) -> _DTTimestampTimedeltaReturnType: ...
195195
def ceil(
196196
self,
197-
freq: str | BaseOffset | None,
197+
freq: Frequency | None,
198198
ambiguous: Literal["raise", "infer", "NaT"] | bool | np_ndarray_bool = ...,
199199
nonexistent: (
200200
Literal["shift_forward", "shift_backward", "NaT", "raise"]
@@ -220,9 +220,7 @@ class _DatetimeLikeNoTZMethods(
220220
_DTToPeriodReturnType,
221221
],
222222
):
223-
def to_period(
224-
self, freq: str | BaseOffset | None = ...
225-
) -> _DTToPeriodReturnType: ...
223+
def to_period(self, freq: Frequency | None = ...) -> _DTToPeriodReturnType: ...
226224
def tz_localize(
227225
self,
228226
tz: TimeZones,
@@ -353,12 +351,12 @@ class _PeriodProperties(
353351
def strftime(self, date_format: str) -> _PeriodStrReturnTypes: ...
354352
def to_timestamp(
355353
self,
356-
freq: str | DateOffset | None = ...,
354+
freq: Frequency | None = ...,
357355
how: TimestampConvention = ...,
358356
) -> _PeriodDTAReturnTypes: ...
359357
def asfreq(
360358
self,
361-
freq: str | DateOffset | None = ...,
359+
freq: Frequency | None = ...,
362360
how: Literal["E", "END", "FINISH", "S", "START", "BEGIN"] = ...,
363361
) -> _PeriodPAReturnTypes: ...
364362

@@ -453,7 +451,7 @@ class _dtDescriptor(CombinedDatetimelikeProperties, Generic[S1]):
453451
) -> CombinedDatetimelikeProperties: ...
454452
def round(
455453
self,
456-
freq: str | BaseOffset | None,
454+
freq: Frequency | None,
457455
ambiguous: Literal["raise", "infer", "NaT"] | bool | np_ndarray_bool = ...,
458456
nonexistent: (
459457
Literal["shift_forward", "shift_backward", "NaT", "raise"]
@@ -463,7 +461,7 @@ class _dtDescriptor(CombinedDatetimelikeProperties, Generic[S1]):
463461
) -> Series[S1]: ...
464462
def floor(
465463
self,
466-
freq: str | BaseOffset | None,
464+
freq: Frequency | None,
467465
ambiguous: Literal["raise", "infer", "NaT"] | bool | np_ndarray_bool = ...,
468466
nonexistent: (
469467
Literal["shift_forward", "shift_backward", "NaT", "raise"]
@@ -473,7 +471,7 @@ class _dtDescriptor(CombinedDatetimelikeProperties, Generic[S1]):
473471
) -> Series[S1]: ...
474472
def ceil(
475473
self,
476-
freq: str | BaseOffset | None,
474+
freq: Frequency | None,
477475
ambiguous: Literal["raise", "infer", "NaT"] | bool | np_ndarray_bool = ...,
478476
nonexistent: (
479477
Literal["shift_forward", "shift_backward", "NaT", "raise"]

pandas-stubs/core/indexes/datetimes.pyi

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import numpy as np
1616
from pandas import (
1717
DataFrame,
1818
Index,
19-
Timedelta,
2019
TimedeltaIndex,
2120
Timestamp,
2221
)
@@ -26,7 +25,6 @@ from pandas.core.indexes.datetimelike import DatetimeTimedeltaMixin
2625
from pandas.core.series import Series
2726
from typing_extensions import Self
2827

29-
from pandas._libs.tslibs.offsets import DateOffset
3028
from pandas._typing import (
3129
AxesData,
3230
DateAndDatetimeLike,
@@ -103,14 +101,14 @@ class DatetimeIndex(
103101
@property
104102
def dtype(self) -> np.dtype | DatetimeTZDtype: ...
105103
def shift(
106-
self, periods: int = 1, freq: DateOffset | Timedelta | str | None = None
104+
self, periods: int = 1, freq: Frequency | timedelta | None = None
107105
) -> Self: ...
108106

109107
@overload
110108
def date_range(
111109
start: str | DateAndDatetimeLike,
112110
end: str | DateAndDatetimeLike,
113-
freq: str | timedelta | Timedelta | BaseOffset | None = None,
111+
freq: Frequency | timedelta | None = None,
114112
tz: TimeZones = None,
115113
normalize: bool = False,
116114
name: Hashable | None = None,
@@ -133,7 +131,7 @@ def date_range(
133131
start: str | DateAndDatetimeLike,
134132
*,
135133
periods: int,
136-
freq: str | timedelta | Timedelta | BaseOffset | None = None,
134+
freq: Frequency | timedelta | None = None,
137135
tz: TimeZones = None,
138136
normalize: bool = False,
139137
name: Hashable | None = None,
@@ -145,7 +143,7 @@ def date_range(
145143
*,
146144
end: str | DateAndDatetimeLike,
147145
periods: int,
148-
freq: str | timedelta | Timedelta | BaseOffset | None = None,
146+
freq: Frequency | timedelta | None = None,
149147
tz: TimeZones = None,
150148
normalize: bool = False,
151149
name: Hashable | None = None,
@@ -157,7 +155,7 @@ def bdate_range(
157155
start: str | DateAndDatetimeLike | None = ...,
158156
end: str | DateAndDatetimeLike | None = ...,
159157
periods: int | None = ...,
160-
freq: str | timedelta | Timedelta | BaseOffset = ...,
158+
freq: Frequency | timedelta = ...,
161159
tz: TimeZones = ...,
162160
normalize: bool = ...,
163161
name: Hashable | None = ...,
@@ -171,7 +169,7 @@ def bdate_range(
171169
end: str | DateAndDatetimeLike | None = ...,
172170
periods: int | None = ...,
173171
*,
174-
freq: str | timedelta | Timedelta | BaseOffset,
172+
freq: Frequency | timedelta,
175173
tz: TimeZones = ...,
176174
normalize: bool = ...,
177175
name: Hashable | None = ...,

pandas-stubs/core/indexes/interval.pyi

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ from pandas._libs.interval import (
1919
Interval as Interval,
2020
IntervalMixin,
2121
)
22-
from pandas._libs.tslibs.offsets import BaseOffset
2322
from pandas._typing import (
2423
DatetimeLike,
2524
DtypeArg,
2625
FillnaOptions,
26+
Frequency,
2727
IntervalClosedType,
2828
IntervalT,
2929
Label,
@@ -328,7 +328,7 @@ def interval_range(
328328
start: _TimestampLike,
329329
end: _TimestampLike | None = ...,
330330
periods: int | None = ...,
331-
freq: str | BaseOffset | pd.Timedelta | dt.timedelta | None = ...,
331+
freq: Frequency | dt.timedelta | None = ...,
332332
name: Hashable = ...,
333333
closed: IntervalClosedType = ...,
334334
) -> IntervalIndex[Interval[pd.Timestamp]]: ...
@@ -338,7 +338,7 @@ def interval_range(
338338
start: None = ...,
339339
end: _TimestampLike,
340340
periods: int | None = ...,
341-
freq: str | BaseOffset | pd.Timedelta | dt.timedelta | None = ...,
341+
freq: Frequency | dt.timedelta | None = ...,
342342
name: Hashable = ...,
343343
closed: IntervalClosedType = ...,
344344
) -> IntervalIndex[Interval[pd.Timestamp]]: ...
@@ -347,7 +347,7 @@ def interval_range(
347347
start: _TimedeltaLike,
348348
end: _TimedeltaLike | None = ...,
349349
periods: int | None = ...,
350-
freq: str | BaseOffset | pd.Timedelta | dt.timedelta | None = ...,
350+
freq: Frequency | dt.timedelta | None = ...,
351351
name: Hashable = ...,
352352
closed: IntervalClosedType = ...,
353353
) -> IntervalIndex[Interval[pd.Timedelta]]: ...
@@ -357,7 +357,7 @@ def interval_range(
357357
start: None = ...,
358358
end: _TimedeltaLike,
359359
periods: int | None = ...,
360-
freq: str | BaseOffset | pd.Timedelta | dt.timedelta | None = ...,
360+
freq: Frequency | dt.timedelta | None = ...,
361361
name: Hashable = ...,
362362
closed: IntervalClosedType = ...,
363363
) -> IntervalIndex[Interval[pd.Timedelta]]: ...

pandas-stubs/core/indexes/timedeltas.pyi

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ from typing import (
1111

1212
import numpy as np
1313
from pandas import (
14-
DateOffset,
1514
Index,
1615
Period,
1716
)
@@ -23,9 +22,9 @@ from pandas.core.series import Series
2322
from typing_extensions import Self
2423

2524
from pandas._libs import Timedelta
26-
from pandas._libs.tslibs import BaseOffset
2725
from pandas._typing import (
2826
AxesData,
27+
Frequency,
2928
TimedeltaConvertibleTypes,
3029
np_ndarray_td,
3130
num,
@@ -39,7 +38,7 @@ class TimedeltaIndex(
3938
data: (
4039
Sequence[dt.timedelta | Timedelta | np.timedelta64 | float] | AxesData
4140
) = ...,
42-
freq: str | BaseOffset = ...,
41+
freq: Frequency = ...,
4342
closed: object = ...,
4443
dtype: Literal["<m8[ns]"] = ...,
4544
copy: bool = ...,
@@ -86,14 +85,16 @@ class TimedeltaIndex(
8685
def inferred_type(self) -> str: ...
8786
@final
8887
def to_series(self, index=..., name: Hashable = ...) -> Series[Timedelta]: ...
89-
def shift(self, periods: int = 1, freq=...) -> Self: ...
88+
def shift(
89+
self, periods: int = 1, freq: Frequency | dt.timedelta | None = None
90+
) -> Self: ...
9091

9192
@overload
9293
def timedelta_range(
9394
start: TimedeltaConvertibleTypes,
9495
end: TimedeltaConvertibleTypes,
9596
*,
96-
freq: str | DateOffset | Timedelta | dt.timedelta | None = None,
97+
freq: Frequency | Timedelta | dt.timedelta | None = None,
9798
name: Hashable | None = None,
9899
closed: Literal["left", "right"] | None = None,
99100
unit: None | str = ...,
@@ -103,7 +104,7 @@ def timedelta_range(
103104
*,
104105
end: TimedeltaConvertibleTypes,
105106
periods: int,
106-
freq: str | DateOffset | Timedelta | dt.timedelta | None = None,
107+
freq: Frequency | Timedelta | dt.timedelta | None = None,
107108
name: Hashable | None = None,
108109
closed: Literal["left", "right"] | None = None,
109110
unit: None | str = ...,
@@ -113,7 +114,7 @@ def timedelta_range(
113114
start: TimedeltaConvertibleTypes,
114115
*,
115116
periods: int,
116-
freq: str | DateOffset | Timedelta | dt.timedelta | None = None,
117+
freq: Frequency | Timedelta | dt.timedelta | None = None,
117118
name: Hashable | None = None,
118119
closed: Literal["left", "right"] | None = None,
119120
unit: None | str = ...,

pandas-stubs/core/series.pyi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ from pandas._typing import (
142142
FillnaOptions,
143143
FloatDtypeArg,
144144
FloatFormatType,
145+
Frequency,
145146
GenericT,
146147
GenericT_co,
147148
GroupByObjectNonScalar,
@@ -4520,7 +4521,7 @@ class Series(IndexOpsMixin[S1], NDFrame):
45204521
@overload
45214522
def rolling(
45224523
self,
4523-
window: int | _str | timedelta | BaseOffset | BaseIndexer,
4524+
window: int | Frequency | timedelta | BaseIndexer,
45244525
min_periods: int | None = ...,
45254526
center: _bool = ...,
45264527
on: _str | None = ...,
@@ -4533,7 +4534,7 @@ class Series(IndexOpsMixin[S1], NDFrame):
45334534
@overload
45344535
def rolling(
45354536
self,
4536-
window: int | _str | timedelta | BaseOffset | BaseIndexer,
4537+
window: int | Frequency | timedelta | BaseIndexer,
45374538
min_periods: int | None = ...,
45384539
center: _bool = ...,
45394540
on: _str | None = ...,

0 commit comments

Comments
 (0)