Skip to content

Commit c362a3e

Browse files
committed
fix overload defaults for as_index in groupby
1 parent 6f479f6 commit c362a3e

File tree

2 files changed

+29
-21
lines changed

2 files changed

+29
-21
lines changed

pandas-stubs/core/frame.pyi

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,7 +1145,7 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
11451145
errors: IgnoreRaise = "ignore",
11461146
) -> None: ...
11471147
@overload
1148-
def groupby( # pyright: ignore reportOverlappingOverload
1148+
def groupby(
11491149
self,
11501150
by: Scalar,
11511151
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1162,14 +1162,15 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
11621162
by: Scalar,
11631163
axis: AxisIndex | _NoDefaultDoNotUse = ...,
11641164
level: IndexLabel | None = ...,
1165-
as_index: Literal[False] = ...,
1165+
*,
1166+
as_index: Literal[False],
11661167
sort: _bool = ...,
11671168
group_keys: _bool = ...,
11681169
observed: _bool | _NoDefaultDoNotUse = ...,
11691170
dropna: _bool = ...,
11701171
) -> DataFrameGroupBy[Scalar, Literal[False]]: ...
11711172
@overload
1172-
def groupby( # pyright: ignore reportOverlappingOverload
1173+
def groupby(
11731174
self,
11741175
by: DatetimeIndex,
11751176
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1181,19 +1182,20 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
11811182
dropna: _bool = ...,
11821183
) -> DataFrameGroupBy[Timestamp, Literal[True]]: ...
11831184
@overload
1184-
def groupby( # pyright: ignore reportOverlappingOverload
1185+
def groupby(
11851186
self,
11861187
by: DatetimeIndex,
11871188
axis: AxisIndex | _NoDefaultDoNotUse = ...,
11881189
level: IndexLabel | None = ...,
1189-
as_index: Literal[False] = ...,
1190+
*,
1191+
as_index: Literal[False],
11901192
sort: _bool = ...,
11911193
group_keys: _bool = ...,
11921194
observed: _bool | _NoDefaultDoNotUse = ...,
11931195
dropna: _bool = ...,
11941196
) -> DataFrameGroupBy[Timestamp, Literal[False]]: ...
11951197
@overload
1196-
def groupby( # pyright: ignore reportOverlappingOverload
1198+
def groupby(
11971199
self,
11981200
by: TimedeltaIndex,
11991201
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1210,14 +1212,15 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
12101212
by: TimedeltaIndex,
12111213
axis: AxisIndex | _NoDefaultDoNotUse = ...,
12121214
level: IndexLabel | None = ...,
1213-
as_index: Literal[False] = ...,
1215+
*,
1216+
as_index: Literal[False],
12141217
sort: _bool = ...,
12151218
group_keys: _bool = ...,
12161219
observed: _bool | _NoDefaultDoNotUse = ...,
12171220
dropna: _bool = ...,
12181221
) -> DataFrameGroupBy[Timedelta, Literal[False]]: ...
12191222
@overload
1220-
def groupby( # pyright: ignore reportOverlappingOverload
1223+
def groupby(
12211224
self,
12221225
by: PeriodIndex,
12231226
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1234,14 +1237,15 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
12341237
by: PeriodIndex,
12351238
axis: AxisIndex | _NoDefaultDoNotUse = ...,
12361239
level: IndexLabel | None = ...,
1237-
as_index: Literal[False] = ...,
1240+
*,
1241+
as_index: Literal[False],
12381242
sort: _bool = ...,
12391243
group_keys: _bool = ...,
12401244
observed: _bool | _NoDefaultDoNotUse = ...,
12411245
dropna: _bool = ...,
12421246
) -> DataFrameGroupBy[Period, Literal[False]]: ...
12431247
@overload
1244-
def groupby( # pyright: ignore reportOverlappingOverload
1248+
def groupby(
12451249
self,
12461250
by: IntervalIndex[IntervalT],
12471251
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1258,14 +1262,15 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
12581262
by: IntervalIndex[IntervalT],
12591263
axis: AxisIndex | _NoDefaultDoNotUse = ...,
12601264
level: IndexLabel | None = ...,
1261-
as_index: Literal[False] = ...,
1265+
*,
1266+
as_index: Literal[False],
12621267
sort: _bool = ...,
12631268
group_keys: _bool = ...,
12641269
observed: _bool | _NoDefaultDoNotUse = ...,
12651270
dropna: _bool = ...,
12661271
) -> DataFrameGroupBy[IntervalT, Literal[False]]: ...
12671272
@overload
1268-
def groupby( # type: ignore[overload-overlap] # pyright: ignore reportOverlappingOverload
1273+
def groupby(
12691274
self,
12701275
by: MultiIndex | GroupByObjectNonScalar | None = ...,
12711276
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1277,19 +1282,20 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
12771282
dropna: _bool = ...,
12781283
) -> DataFrameGroupBy[tuple, Literal[True]]: ...
12791284
@overload
1280-
def groupby( # type: ignore[overload-overlap]
1285+
def groupby(
12811286
self,
12821287
by: MultiIndex | GroupByObjectNonScalar | None = ...,
12831288
axis: AxisIndex | _NoDefaultDoNotUse = ...,
12841289
level: IndexLabel | None = ...,
1285-
as_index: Literal[False] = ...,
1290+
*,
1291+
as_index: Literal[False],
12861292
sort: _bool = ...,
12871293
group_keys: _bool = ...,
12881294
observed: _bool | _NoDefaultDoNotUse = ...,
12891295
dropna: _bool = ...,
12901296
) -> DataFrameGroupBy[tuple, Literal[False]]: ...
12911297
@overload
1292-
def groupby( # pyright: ignore reportOverlappingOverload
1298+
def groupby(
12931299
self,
12941300
by: Series[SeriesByT],
12951301
axis: AxisIndex | _NoDefaultDoNotUse = ...,
@@ -1306,7 +1312,8 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
13061312
by: Series[SeriesByT],
13071313
axis: AxisIndex | _NoDefaultDoNotUse = ...,
13081314
level: IndexLabel | None = ...,
1309-
as_index: Literal[False] = ...,
1315+
*,
1316+
as_index: Literal[False],
13101317
sort: _bool = ...,
13111318
group_keys: _bool = ...,
13121319
observed: _bool | _NoDefaultDoNotUse = ...,
@@ -1330,7 +1337,8 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
13301337
by: CategoricalIndex | Index | Series,
13311338
axis: AxisIndex | _NoDefaultDoNotUse = ...,
13321339
level: IndexLabel | None = ...,
1333-
as_index: Literal[False] = ...,
1340+
*,
1341+
as_index: Literal[False],
13341342
sort: _bool = ...,
13351343
group_keys: _bool = ...,
13361344
observed: _bool | _NoDefaultDoNotUse = ...,

tests/test_frame.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -689,8 +689,8 @@ def test_types_mean() -> None:
689689
pd.Series,
690690
)
691691
if TYPE_CHECKING_INVALID_USAGE:
692-
df3: pd.DataFrame = df.groupby(axis=1, level=0).mean() # type: ignore[call-overload] # pyright: ignore[reportArgumentType, reportCallIssue]
693-
df4: pd.DataFrame = df.groupby(axis=1, level=0, dropna=True).mean() # type: ignore[call-overload] # pyright: ignore[reportArgumentType, reportCallIssue]
692+
df3: pd.DataFrame = df.groupby(axis=1, level=0).mean() # type: ignore[call-overload] # pyright: ignore[reportArgumentType]
693+
df4: pd.DataFrame = df.groupby(axis=1, level=0, dropna=True).mean() # type: ignore[call-overload] # pyright: ignore[reportArgumentType]
694694

695695

696696
def test_types_median() -> None:
@@ -703,8 +703,8 @@ def test_types_median() -> None:
703703
pd.Series,
704704
)
705705
if TYPE_CHECKING_INVALID_USAGE:
706-
df3: pd.DataFrame = df.groupby(axis=1, level=0).median() # type: ignore[call-overload] # pyright: ignore[reportArgumentType, reportCallIssue]
707-
df4: pd.DataFrame = df.groupby(axis=1, level=0, dropna=True).median() # type: ignore[call-overload] # pyright: ignore[reportArgumentType, reportCallIssue]
706+
df3: pd.DataFrame = df.groupby(axis=1, level=0).median() # type: ignore[call-overload] # pyright: ignore[reportArgumentType]
707+
df4: pd.DataFrame = df.groupby(axis=1, level=0, dropna=True).median() # type: ignore[call-overload] # pyright: ignore[reportArgumentType]
708708

709709

710710
def test_types_iterrows() -> None:

0 commit comments

Comments
 (0)