|
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