|
16 | 16 | import pandas._testing as tm |
17 | 17 | from pandas.core.indexes.datetimes import date_range |
18 | 18 |
|
19 | | -dti = date_range(start=datetime(2005, 1, 1), end=datetime(2005, 1, 10), freq="Min") |
20 | 19 |
|
21 | | -test_series = Series(np.random.rand(len(dti)), dti) |
22 | | -_test_frame = DataFrame({"A": test_series, "B": test_series, "C": np.arange(len(dti))}) |
| 20 | +@pytest.fixture |
| 21 | +def dti(): |
| 22 | + return date_range(start=datetime(2005, 1, 1), end=datetime(2005, 1, 10), freq="Min") |
| 23 | + |
| 24 | + |
| 25 | +@pytest.fixture |
| 26 | +def _test_series(dti): |
| 27 | + return Series(np.random.rand(len(dti)), dti) |
23 | 28 |
|
24 | 29 |
|
25 | 30 | @pytest.fixture |
26 | | -def test_frame(): |
27 | | - return _test_frame.copy() |
| 31 | +def test_frame(dti, _test_series): |
| 32 | + return DataFrame({"A": _test_series, "B": _test_series, "C": np.arange(len(dti))}) |
28 | 33 |
|
29 | 34 |
|
30 | | -def test_str(): |
31 | | - r = test_series.resample("H") |
| 35 | +def test_str(_test_series): |
| 36 | + r = _test_series.resample("H") |
32 | 37 | assert ( |
33 | 38 | "DatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, " |
34 | 39 | "label=left, convention=start, origin=start_day]" in str(r) |
35 | 40 | ) |
36 | 41 |
|
37 | | - r = test_series.resample("H", origin="2000-01-01") |
| 42 | + r = _test_series.resample("H", origin="2000-01-01") |
38 | 43 | assert ( |
39 | 44 | "DatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, " |
40 | 45 | "label=left, convention=start, origin=2000-01-01 00:00:00]" in str(r) |
41 | 46 | ) |
42 | 47 |
|
43 | 48 |
|
44 | | -def test_api(): |
45 | | - r = test_series.resample("H") |
| 49 | +def test_api(_test_series): |
| 50 | + r = _test_series.resample("H") |
46 | 51 | result = r.mean() |
47 | 52 | assert isinstance(result, Series) |
48 | 53 | assert len(result) == 217 |
49 | 54 |
|
50 | | - r = test_series.to_frame().resample("H") |
| 55 | + r = _test_series.to_frame().resample("H") |
51 | 56 | result = r.mean() |
52 | 57 | assert isinstance(result, DataFrame) |
53 | 58 | assert len(result) == 217 |
@@ -116,11 +121,11 @@ def test_resample_group_keys(): |
116 | 121 | tm.assert_frame_equal(result, expected) |
117 | 122 |
|
118 | 123 |
|
119 | | -def test_pipe(test_frame): |
| 124 | +def test_pipe(test_frame, _test_series): |
120 | 125 | # GH17905 |
121 | 126 |
|
122 | 127 | # series |
123 | | - r = test_series.resample("H") |
| 128 | + r = _test_series.resample("H") |
124 | 129 | expected = r.max() - r.mean() |
125 | 130 | result = r.pipe(lambda x: x.max() - x.mean()) |
126 | 131 | tm.assert_series_equal(result, expected) |
@@ -261,9 +266,9 @@ def test_combined_up_downsampling_of_irregular(): |
261 | 266 | tm.assert_series_equal(result, expected) |
262 | 267 |
|
263 | 268 |
|
264 | | -def test_transform_series(): |
265 | | - r = test_series.resample("20min") |
266 | | - expected = test_series.groupby(pd.Grouper(freq="20min")).transform("mean") |
| 269 | +def test_transform_series(_test_series): |
| 270 | + r = _test_series.resample("20min") |
| 271 | + expected = _test_series.groupby(pd.Grouper(freq="20min")).transform("mean") |
267 | 272 | result = r.transform("mean") |
268 | 273 | tm.assert_series_equal(result, expected) |
269 | 274 |
|
@@ -319,17 +324,17 @@ def test_fillna(): |
319 | 324 | ], |
320 | 325 | ids=["resample", "groupby"], |
321 | 326 | ) |
322 | | -def test_apply_without_aggregation(func): |
| 327 | +def test_apply_without_aggregation(func, _test_series): |
323 | 328 | # both resample and groupby should work w/o aggregation |
324 | | - t = func(test_series) |
| 329 | + t = func(_test_series) |
325 | 330 | result = t.apply(lambda x: x) |
326 | | - tm.assert_series_equal(result, test_series) |
| 331 | + tm.assert_series_equal(result, _test_series) |
327 | 332 |
|
328 | 333 |
|
329 | | -def test_apply_without_aggregation2(): |
330 | | - grouped = test_series.to_frame(name="foo").resample("20min", group_keys=False) |
| 334 | +def test_apply_without_aggregation2(_test_series): |
| 335 | + grouped = _test_series.to_frame(name="foo").resample("20min", group_keys=False) |
331 | 336 | result = grouped["foo"].apply(lambda x: x) |
332 | | - tm.assert_series_equal(result, test_series.rename("foo")) |
| 337 | + tm.assert_series_equal(result, _test_series.rename("foo")) |
333 | 338 |
|
334 | 339 |
|
335 | 340 | def test_agg_consistency(): |
@@ -1010,13 +1015,13 @@ def test_df_axis_param_depr(): |
1010 | 1015 | df.resample("M", axis=0) |
1011 | 1016 |
|
1012 | 1017 |
|
1013 | | -def test_series_axis_param_depr(): |
| 1018 | +def test_series_axis_param_depr(_test_series): |
1014 | 1019 | warning_msg = ( |
1015 | 1020 | "The 'axis' keyword in Series.resample is " |
1016 | 1021 | "deprecated and will be removed in a future version." |
1017 | 1022 | ) |
1018 | 1023 | with tm.assert_produces_warning(FutureWarning, match=warning_msg): |
1019 | | - test_series.resample("H", axis=0) |
| 1024 | + _test_series.resample("H", axis=0) |
1020 | 1025 |
|
1021 | 1026 |
|
1022 | 1027 | def test_resample_empty(): |
|
0 commit comments