Skip to content

Commit 03557bf

Browse files
mroeschkeMatt Roeschke
authored andcommitted
CLN: Remove _get_roll_func (pandas-dev#38596)
Co-authored-by: Matt Roeschke <[email protected]>
1 parent 5aa4c14 commit 03557bf

File tree

2 files changed

+20
-40
lines changed

2 files changed

+20
-40
lines changed

pandas/core/window/ewm.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -335,14 +335,14 @@ def mean(self, *args, **kwargs):
335335
"""
336336
nv.validate_window_func("mean", args, kwargs)
337337
if self.times is not None:
338-
window_func = self._get_roll_func("ewma_time")
338+
window_func = window_aggregations.ewma_time
339339
window_func = partial(
340340
window_func,
341341
times=self.times,
342342
halflife=self.halflife,
343343
)
344344
else:
345-
window_func = self._get_roll_func("ewma")
345+
window_func = window_aggregations.ewma
346346
window_func = partial(
347347
window_func,
348348
com=self.com,
@@ -371,7 +371,7 @@ def var(self, bias: bool = False, *args, **kwargs):
371371
Exponential weighted moving variance.
372372
"""
373373
nv.validate_window_func("var", args, kwargs)
374-
window_func = self._get_roll_func("ewmcov")
374+
window_func = window_aggregations.ewmcov
375375
window_func = partial(
376376
window_func,
377377
com=self.com,

pandas/core/window/rolling.py

+17-37
Original file line numberDiff line numberDiff line change
@@ -316,26 +316,6 @@ def _insert_on_column(self, result: "DataFrame", obj: "DataFrame"):
316316
# insert at the end
317317
result[name] = extra_col
318318

319-
def _get_roll_func(self, func_name: str) -> Callable[..., Any]:
320-
"""
321-
Wrap rolling function to check values passed.
322-
323-
Parameters
324-
----------
325-
func_name : str
326-
Cython function used to calculate rolling statistics
327-
328-
Returns
329-
-------
330-
func : callable
331-
"""
332-
window_func = getattr(window_aggregations, func_name, None)
333-
if window_func is None:
334-
raise ValueError(
335-
f"we do not support this function in window_aggregations.{func_name}"
336-
)
337-
return window_func
338-
339319
@property
340320
def _index_array(self):
341321
# TODO: why do we get here with e.g. MultiIndex?
@@ -1153,21 +1133,21 @@ def aggregate(self, func, *args, **kwargs):
11531133
@Appender(_shared_docs["sum"])
11541134
def sum(self, *args, **kwargs):
11551135
nv.validate_window_func("sum", args, kwargs)
1156-
window_func = self._get_roll_func("roll_weighted_sum")
1136+
window_func = window_aggregations.roll_weighted_sum
11571137
return self._apply(window_func, name="sum", **kwargs)
11581138

11591139
@Substitution(name="window")
11601140
@Appender(_shared_docs["mean"])
11611141
def mean(self, *args, **kwargs):
11621142
nv.validate_window_func("mean", args, kwargs)
1163-
window_func = self._get_roll_func("roll_weighted_mean")
1143+
window_func = window_aggregations.roll_weighted_mean
11641144
return self._apply(window_func, name="mean", **kwargs)
11651145

11661146
@Substitution(name="window", versionadded="\n.. versionadded:: 1.0.0\n")
11671147
@Appender(_shared_docs["var"])
11681148
def var(self, ddof: int = 1, *args, **kwargs):
11691149
nv.validate_window_func("var", args, kwargs)
1170-
window_func = partial(self._get_roll_func("roll_weighted_var"), ddof=ddof)
1150+
window_func = partial(window_aggregations.roll_weighted_var, ddof=ddof)
11711151
kwargs.pop("name", None)
11721152
return self._apply(window_func, name="var", **kwargs)
11731153

@@ -1221,7 +1201,7 @@ class RollingAndExpandingMixin(BaseWindow):
12211201
)
12221202

12231203
def count(self):
1224-
window_func = self._get_roll_func("roll_sum")
1204+
window_func = window_aggregations.roll_sum
12251205
return self._apply(window_func, name="count")
12261206

12271207
_shared_docs["apply"] = dedent(
@@ -1331,7 +1311,7 @@ def _generate_cython_apply_func(
13311311
from pandas import Series
13321312

13331313
window_func = partial(
1334-
self._get_roll_func("roll_apply"),
1314+
window_aggregations.roll_apply,
13351315
args=args,
13361316
kwargs=kwargs,
13371317
raw=raw,
@@ -1347,7 +1327,7 @@ def apply_func(values, begin, end, min_periods, raw=raw):
13471327

13481328
def sum(self, *args, **kwargs):
13491329
nv.validate_window_func("sum", args, kwargs)
1350-
window_func = self._get_roll_func("roll_sum")
1330+
window_func = window_aggregations.roll_sum
13511331
return self._apply(window_func, name="sum", **kwargs)
13521332

13531333
_shared_docs["max"] = dedent(
@@ -1363,7 +1343,7 @@ def sum(self, *args, **kwargs):
13631343

13641344
def max(self, *args, **kwargs):
13651345
nv.validate_window_func("max", args, kwargs)
1366-
window_func = self._get_roll_func("roll_max")
1346+
window_func = window_aggregations.roll_max
13671347
return self._apply(window_func, name="max", **kwargs)
13681348

13691349
_shared_docs["min"] = dedent(
@@ -1405,12 +1385,12 @@ def max(self, *args, **kwargs):
14051385

14061386
def min(self, *args, **kwargs):
14071387
nv.validate_window_func("min", args, kwargs)
1408-
window_func = self._get_roll_func("roll_min")
1388+
window_func = window_aggregations.roll_min
14091389
return self._apply(window_func, name="min", **kwargs)
14101390

14111391
def mean(self, *args, **kwargs):
14121392
nv.validate_window_func("mean", args, kwargs)
1413-
window_func = self._get_roll_func("roll_mean")
1393+
window_func = window_aggregations.roll_mean
14141394
return self._apply(window_func, name="mean", **kwargs)
14151395

14161396
_shared_docs["median"] = dedent(
@@ -1451,14 +1431,14 @@ def mean(self, *args, **kwargs):
14511431
)
14521432

14531433
def median(self, **kwargs):
1454-
window_func = self._get_roll_func("roll_median_c")
1434+
window_func = window_aggregations.roll_median_c
14551435
# GH 32865. Move max window size calculation to
14561436
# the median function implementation
14571437
return self._apply(window_func, name="median", **kwargs)
14581438

14591439
def std(self, ddof: int = 1, *args, **kwargs):
14601440
nv.validate_window_func("std", args, kwargs)
1461-
window_func = self._get_roll_func("roll_var")
1441+
window_func = window_aggregations.roll_var
14621442

14631443
def zsqrt_func(values, begin, end, min_periods):
14641444
return zsqrt(window_func(values, begin, end, min_periods, ddof=ddof))
@@ -1471,7 +1451,7 @@ def zsqrt_func(values, begin, end, min_periods):
14711451

14721452
def var(self, ddof: int = 1, *args, **kwargs):
14731453
nv.validate_window_func("var", args, kwargs)
1474-
window_func = partial(self._get_roll_func("roll_var"), ddof=ddof)
1454+
window_func = partial(window_aggregations.roll_var, ddof=ddof)
14751455
return self._apply(
14761456
window_func,
14771457
name="var",
@@ -1490,7 +1470,7 @@ def var(self, ddof: int = 1, *args, **kwargs):
14901470
"""
14911471

14921472
def skew(self, **kwargs):
1493-
window_func = self._get_roll_func("roll_skew")
1473+
window_func = window_aggregations.roll_skew
14941474
return self._apply(
14951475
window_func,
14961476
name="skew",
@@ -1583,7 +1563,7 @@ def sem(self, ddof: int = 1, *args, **kwargs):
15831563
)
15841564

15851565
def kurt(self, **kwargs):
1586-
window_func = self._get_roll_func("roll_kurt")
1566+
window_func = window_aggregations.roll_kurt
15871567
return self._apply(
15881568
window_func,
15891569
name="kurt",
@@ -1646,12 +1626,12 @@ def kurt(self, **kwargs):
16461626

16471627
def quantile(self, quantile: float, interpolation: str = "linear", **kwargs):
16481628
if quantile == 1.0:
1649-
window_func = self._get_roll_func("roll_max")
1629+
window_func = window_aggregations.roll_max
16501630
elif quantile == 0.0:
1651-
window_func = self._get_roll_func("roll_min")
1631+
window_func = window_aggregations.roll_min
16521632
else:
16531633
window_func = partial(
1654-
self._get_roll_func("roll_quantile"),
1634+
window_aggregations.roll_quantile,
16551635
quantile=quantile,
16561636
interpolation=interpolation,
16571637
)

0 commit comments

Comments
 (0)