Skip to content

Commit 8ae0caf

Browse files
FIX: resample redefinition
Co-authored-by: André Correia <[email protected]>
1 parent 5cd994c commit 8ae0caf

File tree

1 file changed

+70
-125
lines changed

1 file changed

+70
-125
lines changed

pandas/core/resample.py

Lines changed: 70 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,10 +1005,14 @@ def asfreq(self, fill_value=None):
10051005
return self._upsample("asfreq", fill_value=fill_value)
10061006

10071007
@final
1008+
@doc(GroupBy.sum)
10081009
def sum(
10091010
self,
10101011
numeric_only: bool = False,
10111012
min_count: int = 0,
1013+
skipna: bool = True,
1014+
engine: Literal["cython", "numba"] | None = None,
1015+
engine_kwargs: dict[str, bool] | None = None,
10121016
):
10131017
"""
10141018
Compute sum of group values.
@@ -1050,14 +1054,18 @@ def sum(
10501054
2023-02-01 7
10511055
Freq: MS, dtype: int64
10521056
"""
1053-
return self._downsample("sum", numeric_only=numeric_only, min_count=min_count)
1057+
return self._downsample(
1058+
"sum",
1059+
numeric_only=numeric_only,
1060+
min_count=min_count,
1061+
skipna=skipna,
1062+
engine=engine,
1063+
engine_kwargs=engine_kwargs,
1064+
)
10541065

10551066
@final
1056-
def prod(
1057-
self,
1058-
numeric_only: bool = False,
1059-
min_count: int = 0,
1060-
):
1067+
@doc(GroupBy.prod)
1068+
def prod(self, numeric_only: bool = False, min_count: int = 0, skipna: bool = True):
10611069
"""
10621070
Compute prod of group values.
10631071
@@ -1098,13 +1106,19 @@ def prod(
10981106
2023-02-01 12
10991107
Freq: MS, dtype: int64
11001108
"""
1101-
return self._downsample("prod", numeric_only=numeric_only, min_count=min_count)
1109+
return self._downsample(
1110+
"prod", numeric_only=numeric_only, min_count=min_count, skipna=skipna
1111+
)
11021112

11031113
@final
1114+
@doc(GroupBy.min)
11041115
def min(
11051116
self,
11061117
numeric_only: bool = False,
1107-
min_count: int = 0,
1118+
min_count: int = -1,
1119+
skipna: bool = True,
1120+
engine: Literal["cython", "numba"] | None = None,
1121+
engine_kwargs: dict[str, bool] | None = None,
11081122
):
11091123
"""
11101124
Compute min value of group.
@@ -1132,13 +1146,24 @@ def min(
11321146
2023-02-01 3
11331147
Freq: MS, dtype: int64
11341148
"""
1135-
return self._downsample("min", numeric_only=numeric_only, min_count=min_count)
1149+
return self._downsample(
1150+
"min",
1151+
numeric_only=numeric_only,
1152+
min_count=min_count,
1153+
skipna=skipna,
1154+
engine=engine,
1155+
engine_kwargs=engine_kwargs,
1156+
)
11361157

11371158
@final
1159+
@doc(GroupBy.max)
11381160
def max(
11391161
self,
11401162
numeric_only: bool = False,
1141-
min_count: int = 0,
1163+
min_count: int = -1,
1164+
skipna: bool = True,
1165+
engine: Literal["cython", "numba"] | None = None,
1166+
engine_kwargs: dict[str, bool] | None = None,
11421167
):
11431168
"""
11441169
Compute max value of group.
@@ -1166,7 +1191,14 @@ def max(
11661191
2023-02-01 4
11671192
Freq: MS, dtype: int64
11681193
"""
1169-
return self._downsample("max", numeric_only=numeric_only, min_count=min_count)
1194+
return self._downsample(
1195+
"max",
1196+
numeric_only=numeric_only,
1197+
min_count=min_count,
1198+
skipna=skipna,
1199+
engine=engine,
1200+
engine_kwargs=engine_kwargs,
1201+
)
11701202

11711203
@final
11721204
@doc(GroupBy.first)
@@ -1201,87 +1233,6 @@ def median(
12011233
):
12021234
return self._downsample("median", numeric_only=numeric_only, skipna=skipna)
12031235

1204-
@final
1205-
@doc(GroupBy.mean)
1206-
def mean(
1207-
self,
1208-
numeric_only: bool = False,
1209-
skipna: bool = True,
1210-
engine: Literal["cython", "numba"] | None = None,
1211-
engine_kwargs: dict[str, bool] | None = None,
1212-
):
1213-
return self._downsample(
1214-
"mean",
1215-
numeric_only=numeric_only,
1216-
skipna=skipna,
1217-
engine=engine,
1218-
engine_kwargs=engine_kwargs,
1219-
)
1220-
1221-
@final
1222-
@doc(GroupBy.min)
1223-
def min(
1224-
self,
1225-
numeric_only: bool = False,
1226-
min_count: int = -1,
1227-
skipna: bool = True,
1228-
engine: Literal["cython", "numba"] | None = None,
1229-
engine_kwargs: dict[str, bool] | None = None,
1230-
):
1231-
return self._downsample(
1232-
"min",
1233-
numeric_only=numeric_only,
1234-
min_count=min_count,
1235-
skipna=skipna,
1236-
engine=engine,
1237-
engine_kwargs=engine_kwargs,
1238-
)
1239-
1240-
@final
1241-
@doc(GroupBy.max)
1242-
def max(
1243-
self,
1244-
numeric_only: bool = False,
1245-
min_count: int = -1,
1246-
skipna: bool = True,
1247-
engine: Literal["cython", "numba"] | None = None,
1248-
engine_kwargs: dict[str, bool] | None = None,
1249-
):
1250-
return self._downsample(
1251-
"max",
1252-
numeric_only=numeric_only,
1253-
min_count=min_count,
1254-
skipna=skipna,
1255-
engine=engine,
1256-
engine_kwargs=engine_kwargs,
1257-
)
1258-
1259-
@final
1260-
@doc(GroupBy.sum)
1261-
def sum(
1262-
self,
1263-
numeric_only: bool = False,
1264-
min_count: int = 0,
1265-
skipna: bool = True,
1266-
engine: Literal["cython", "numba"] | None = None,
1267-
engine_kwargs: dict[str, bool] | None = None,
1268-
):
1269-
return self._downsample(
1270-
"sum",
1271-
numeric_only=numeric_only,
1272-
min_count=min_count,
1273-
skipna=skipna,
1274-
engine=engine,
1275-
engine_kwargs=engine_kwargs,
1276-
)
1277-
1278-
@final
1279-
@doc(GroupBy.prod)
1280-
def prod(self, numeric_only: bool = False, min_count: int = 0, skipna: bool = True):
1281-
return self._downsample(
1282-
"prod", numeric_only=numeric_only, min_count=min_count, skipna=skipna
1283-
)
1284-
12851236
@final
12861237
@doc(GroupBy.any)
12871238
def any(self, skipna: bool = True):
@@ -1293,9 +1244,13 @@ def all(self, skipna: bool = True):
12931244
return self._downsample("all", skipna=skipna)
12941245

12951246
@final
1247+
@doc(GroupBy.mean)
12961248
def mean(
12971249
self,
12981250
numeric_only: bool = False,
1251+
skipna: bool = True,
1252+
engine: Literal["cython", "numba"] | None = None,
1253+
engine_kwargs: dict[str, bool] | None = None,
12991254
):
13001255
"""
13011256
Compute mean of groups, excluding missing values.
@@ -1334,13 +1289,23 @@ def mean(
13341289
2023-02-01 3.5
13351290
Freq: MS, dtype: float64
13361291
"""
1337-
return self._downsample("mean", numeric_only=numeric_only)
1292+
return self._downsample(
1293+
"mean",
1294+
numeric_only=numeric_only,
1295+
skipna=skipna,
1296+
engine=engine,
1297+
engine_kwargs=engine_kwargs,
1298+
)
13381299

13391300
@final
1301+
@doc(GroupBy.std)
13401302
def std(
13411303
self,
13421304
ddof: int = 1,
1305+
engine: Literal["cython", "numba"] | None = None,
1306+
engine_kwargs: dict[str, bool] | None = None,
13431307
numeric_only: bool = False,
1308+
skipna: bool = True,
13441309
):
13451310
"""
13461311
Compute standard deviation of groups, excluding missing values.
@@ -1384,13 +1349,24 @@ def std(
13841349
2023-02-01 2.645751
13851350
Freq: MS, dtype: float64
13861351
"""
1387-
return self._downsample("std", ddof=ddof, numeric_only=numeric_only)
1352+
return self._downsample(
1353+
"std",
1354+
ddof=ddof,
1355+
engine=engine,
1356+
engine_kwargs=engine_kwargs,
1357+
numeric_only=numeric_only,
1358+
skipna=skipna,
1359+
)
13881360

13891361
@final
1362+
@doc(GroupBy.var)
13901363
def var(
13911364
self,
13921365
ddof: int = 1,
1366+
engine: Literal["cython", "numba"] | None = None,
1367+
engine_kwargs: dict[str, bool] | None = None,
13931368
numeric_only: bool = False,
1369+
skipna: bool = True,
13941370
):
13951371
"""
13961372
Compute variance of groups, excluding missing values.
@@ -1440,37 +1416,6 @@ def var(
14401416
2023-02-01 4.666667
14411417
Freq: MS, dtype: float64
14421418
"""
1443-
return self._downsample("var", ddof=ddof, numeric_only=numeric_only)
1444-
1445-
@final
1446-
@doc(GroupBy.std)
1447-
def std(
1448-
self,
1449-
ddof: int = 1,
1450-
engine: Literal["cython", "numba"] | None = None,
1451-
engine_kwargs: dict[str, bool] | None = None,
1452-
numeric_only: bool = False,
1453-
skipna: bool = True,
1454-
):
1455-
return self._downsample(
1456-
"std",
1457-
ddof=ddof,
1458-
engine=engine,
1459-
engine_kwargs=engine_kwargs,
1460-
numeric_only=numeric_only,
1461-
skipna=skipna,
1462-
)
1463-
1464-
@final
1465-
@doc(GroupBy.var)
1466-
def var(
1467-
self,
1468-
ddof: int = 1,
1469-
engine: Literal["cython", "numba"] | None = None,
1470-
engine_kwargs: dict[str, bool] | None = None,
1471-
numeric_only: bool = False,
1472-
skipna: bool = True,
1473-
):
14741419
return self._downsample(
14751420
"var",
14761421
ddof=ddof,

0 commit comments

Comments
 (0)