Skip to content

Commit 64c339b

Browse files
authored
Fix WeekOfMonth constructor (#699)
* Fix WeekOfMonth constructor * check+assert_type
1 parent 660c4b0 commit 64c339b

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

pandas-stubs/_libs/tslibs/offsets.pyi

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,11 @@ class Week(SingleConstructorOffset):
178178
self, n: int = ..., normalize: bool = ..., weekday: int | None = ...
179179
) -> None: ...
180180

181-
class WeekOfMonth(WeekOfMonthMixin): ...
181+
class WeekOfMonth(WeekOfMonthMixin):
182+
def __init__(
183+
self, n: int = ..., normalize: bool = ..., week: int = ..., weekday: int = ...
184+
) -> None: ...
185+
182186
class LastWeekOfMonth(WeekOfMonthMixin): ...
183187

184188
class FY5253Mixin(SingleConstructorOffset):
@@ -264,9 +268,6 @@ CDay = CustomBusinessDay
264268
def roll_qtrday(
265269
other: datetime, n: int, month: int, day_opt: str, modby: int
266270
) -> int: ...
267-
268-
INVALID_FREQ_ERR_MSG: Literal["Invalid frequency: {0}"]
269-
270271
def shift_months(
271272
dtindex: npt.NDArray[np.int64], months: int, day_opt: str | None = ...
272273
) -> npt.NDArray[np.int64]: ...

tests/test_timefuncs.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ def test_some_offsets() -> None:
635635
pd.DatetimeIndex,
636636
)
637637
# GH 320
638-
tswm1 = pd.Timestamp("9/23/2022") + pd.offsets.WeekOfMonth(2, 3)
638+
tswm1 = pd.Timestamp("9/23/2022") + pd.offsets.WeekOfMonth(2, True)
639639
check(assert_type(tswm1, pd.Timestamp), pd.Timestamp)
640640
tswm2 = pd.Timestamp("9/23/2022") + pd.offsets.LastWeekOfMonth(2, 3)
641641
check(assert_type(tswm2, pd.Timestamp), pd.Timestamp)
@@ -1141,3 +1141,14 @@ def test_timestamp_strptime_fails():
11411141
"%Y-%M-%D", # type: ignore[arg-type] # pyright: ignore[reportGeneralTypeIssues]
11421142
)
11431143
)
1144+
1145+
1146+
def test_weekofmonth_init():
1147+
# GH 629
1148+
check(
1149+
assert_type(
1150+
pd.offsets.WeekOfMonth(n=1, week=1, weekday=1, normalize=True),
1151+
pd.offsets.WeekOfMonth,
1152+
),
1153+
pd.offsets.WeekOfMonth,
1154+
)

0 commit comments

Comments
 (0)