Skip to content

Commit 2f0e95f

Browse files
ganevgvproost
authored andcommitted
TST: add test for rolling max/min/mean with DatetimeIndex over different frequencies (pandas-dev#29932)
1 parent 7de90a7 commit 2f0e95f

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

pandas/tests/window/test_timeseries_window.py

+24-5
Original file line numberDiff line numberDiff line change
@@ -535,15 +535,34 @@ def test_ragged_max(self):
535535
expected["B"] = [0.0, 1, 2, 3, 4]
536536
tm.assert_frame_equal(result, expected)
537537

538-
def test_minutes_freq_max(self):
538+
@pytest.mark.parametrize(
539+
"freq, op, result_data",
540+
[
541+
("ms", "min", [0.0] * 10),
542+
("ms", "mean", [0.0] * 9 + [2.0 / 9]),
543+
("ms", "max", [0.0] * 9 + [2.0]),
544+
("s", "min", [0.0] * 10),
545+
("s", "mean", [0.0] * 9 + [2.0 / 9]),
546+
("s", "max", [0.0] * 9 + [2.0]),
547+
("min", "min", [0.0] * 10),
548+
("min", "mean", [0.0] * 9 + [2.0 / 9]),
549+
("min", "max", [0.0] * 9 + [2.0]),
550+
("h", "min", [0.0] * 10),
551+
("h", "mean", [0.0] * 9 + [2.0 / 9]),
552+
("h", "max", [0.0] * 9 + [2.0]),
553+
("D", "min", [0.0] * 10),
554+
("D", "mean", [0.0] * 9 + [2.0 / 9]),
555+
("D", "max", [0.0] * 9 + [2.0]),
556+
],
557+
)
558+
def test_freqs_ops(self, freq, op, result_data):
539559
# GH 21096
540-
n = 10
541-
index = date_range(start="2018-1-1 01:00:00", freq="1min", periods=n)
560+
index = date_range(start="2018-1-1 01:00:00", freq=f"1{freq}", periods=10)
542561
s = Series(data=0, index=index)
543562
s.iloc[1] = np.nan
544563
s.iloc[-1] = 2
545-
result = s.rolling(window=f"{n}min").max()
546-
expected = Series(data=[0] * (n - 1) + [2.0], index=index)
564+
result = getattr(s.rolling(window=f"10{freq}"), op)()
565+
expected = Series(data=result_data, index=index)
547566

548567
tm.assert_series_equal(result, expected)
549568

0 commit comments

Comments
 (0)