Skip to content

Commit 792cc46

Browse files
authored
TST: pct_change from generic to frame (#37504)
1 parent 31f59f7 commit 792cc46

File tree

2 files changed

+21
-23
lines changed

2 files changed

+21
-23
lines changed

pandas/tests/frame/methods/test_pct_change.py

+21
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,27 @@
66

77

88
class TestDataFramePctChange:
9+
@pytest.mark.parametrize(
10+
"periods,fill_method,limit,exp",
11+
[
12+
(1, "ffill", None, [np.nan, np.nan, np.nan, 1, 1, 1.5, 0, 0]),
13+
(1, "ffill", 1, [np.nan, np.nan, np.nan, 1, 1, 1.5, 0, np.nan]),
14+
(1, "bfill", None, [np.nan, 0, 0, 1, 1, 1.5, np.nan, np.nan]),
15+
(1, "bfill", 1, [np.nan, np.nan, 0, 1, 1, 1.5, np.nan, np.nan]),
16+
(-1, "ffill", None, [np.nan, np.nan, -0.5, -0.5, -0.6, 0, 0, np.nan]),
17+
(-1, "ffill", 1, [np.nan, np.nan, -0.5, -0.5, -0.6, 0, np.nan, np.nan]),
18+
(-1, "bfill", None, [0, 0, -0.5, -0.5, -0.6, np.nan, np.nan, np.nan]),
19+
(-1, "bfill", 1, [np.nan, 0, -0.5, -0.5, -0.6, np.nan, np.nan, np.nan]),
20+
],
21+
)
22+
@pytest.mark.parametrize("klass", [DataFrame, Series])
23+
def test_pct_change_with_nas(self, periods, fill_method, limit, exp, klass):
24+
vals = [np.nan, np.nan, 1, 2, 4, 10, np.nan, np.nan]
25+
obj = klass(vals)
26+
27+
res = obj.pct_change(periods=periods, fill_method=fill_method, limit=limit)
28+
tm.assert_equal(res, klass(exp))
29+
930
def test_pct_change_numeric(self):
1031
# GH#11150
1132
pnl = DataFrame(

pandas/tests/generic/test_generic.py

-23
Original file line numberDiff line numberDiff line change
@@ -356,29 +356,6 @@ def test_copy_and_deepcopy(self, shape, func):
356356
assert obj_copy is not obj
357357
self._compare(obj_copy, obj)
358358

359-
@pytest.mark.parametrize(
360-
"periods,fill_method,limit,exp",
361-
[
362-
(1, "ffill", None, [np.nan, np.nan, np.nan, 1, 1, 1.5, 0, 0]),
363-
(1, "ffill", 1, [np.nan, np.nan, np.nan, 1, 1, 1.5, 0, np.nan]),
364-
(1, "bfill", None, [np.nan, 0, 0, 1, 1, 1.5, np.nan, np.nan]),
365-
(1, "bfill", 1, [np.nan, np.nan, 0, 1, 1, 1.5, np.nan, np.nan]),
366-
(-1, "ffill", None, [np.nan, np.nan, -0.5, -0.5, -0.6, 0, 0, np.nan]),
367-
(-1, "ffill", 1, [np.nan, np.nan, -0.5, -0.5, -0.6, 0, np.nan, np.nan]),
368-
(-1, "bfill", None, [0, 0, -0.5, -0.5, -0.6, np.nan, np.nan, np.nan]),
369-
(-1, "bfill", 1, [np.nan, 0, -0.5, -0.5, -0.6, np.nan, np.nan, np.nan]),
370-
],
371-
)
372-
def test_pct_change(self, periods, fill_method, limit, exp):
373-
vals = [np.nan, np.nan, 1, 2, 4, 10, np.nan, np.nan]
374-
obj = self._typ(vals)
375-
func = getattr(obj, "pct_change")
376-
res = func(periods=periods, fill_method=fill_method, limit=limit)
377-
if type(obj) is DataFrame:
378-
tm.assert_frame_equal(res, DataFrame(exp))
379-
else:
380-
tm.assert_series_equal(res, Series(exp))
381-
382359

383360
class TestNDFrame:
384361
# tests that don't fit elsewhere

0 commit comments

Comments
 (0)