@@ -226,52 +226,60 @@ def test_rolling_kurt_eq_value_fperr(step):
226226 assert (a [a .index >= 9 ] == - 3 ).all ()
227227 assert a [a .index < 9 ].isna ().all ()
228228
229- @pytest .mark .parametrize ("test_len, window_size, modifiers" ,
230- [([0 , 10 ], 5 , [[0 ,1e6 ], [3 , - 1e6 ]]),
231- ([0 , 10 ], 5 , [[0 ,1e-6 ], [3 , 1e6 ]]),
232- ([10 , 100 ], 20 ,[[40 , - 1e10 ], [59 , - 9e9 ]]),
233- ([10500 , 11000 ], 200 ,[[10581 , 0 ], [109900 , - 1e6 ], [10999 , 0 ]]),
234- ]
235- )
229+
230+ @pytest .mark .parametrize (
231+ "test_len, window_size, modifiers" ,
232+ [
233+ ([0 , 10 ], 5 , [[0 , 1e6 ], [3 , - 1e6 ]]),
234+ ([0 , 10 ], 5 , [[0 , 1e-6 ], [3 , 1e6 ]]),
235+ ([10 , 100 ], 20 , [[40 , - 1e10 ], [59 , - 9e9 ]]),
236+ ([10500 , 11000 ], 200 , [[10581 , 0 ], [109900 , - 1e6 ], [10999 , 0 ]]),
237+ ],
238+ )
236239def test_rolling_kurt_outlier_influence (test_len , window_size , modifiers ):
237240 # #61416 Extreme values causes kurtosis value to become incorrect
238- test_series = Series (range (test_len [0 ], test_len [1 ]), index = range (test_len [0 ], test_len [1 ]))
241+ test_series = Series (
242+ range (test_len [0 ], test_len [1 ]), index = range (test_len [0 ], test_len [1 ])
243+ )
239244 for ind , number in modifiers :
240245 test_series = test_series .replace (ind , number )
241-
242- #minimum elements needed for "window_size" number of kurts
246+
247+ # minimum elements needed for "window_size" number of kurts
243248 test_len_diff = test_len [1 ] - test_len [0 ]
244- min_elements_needed = test_len_diff - 2 * window_size + 1
245- expected_series = (test_series [min_elements_needed :].reindex (range (test_len [0 ], test_len [1 ])))
246-
247- actual = test_series .rolling (window_size ,min_periods = 1 ).kurt ()
248- expected = expected_series .rolling (window_size ,min_periods = 1 ).kurt ()
249-
250- tm .assert_series_equal (actual .tail (window_size ),
251- expected .tail (window_size )
252- )
253-
254- @pytest .mark .parametrize ("array_param, window_size, modifiers" ,
255- [([10 , 10 , 10 ], 5 , [[0 ,1e6 ], [3 , - 1e6 ]]),
256- ([- 15 , 10 , 10 ], 5 , [[0 ,1e2 ], [3 , 1e6 ]]),
257- ([1e4 , 1e3 , 100 ], 20 , [[90 ,- 1e7 ], [0 , 1e7 ]]),
258- ([1e-3 , 3e-3 , 100 ], 20 , [[90 ,100 ], [20 , 1e4 ]]),
259- ]
260- )
249+ min_elements_needed = test_len_diff - 2 * window_size + 1
250+ expected_series = test_series [min_elements_needed :].reindex (
251+ range (test_len [0 ], test_len [1 ])
252+ )
253+
254+ actual = test_series .rolling (window_size , min_periods = 1 ).kurt ()
255+ expected = expected_series .rolling (window_size , min_periods = 1 ).kurt ()
256+
257+ tm .assert_series_equal (actual .tail (window_size ), expected .tail (window_size ))
258+
259+
260+ @pytest .mark .parametrize (
261+ "array_param, window_size, modifiers" ,
262+ [
263+ ([10 , 10 , 10 ], 5 , [[0 , 1e6 ], [3 , - 1e6 ]]),
264+ ([- 15 , 10 , 10 ], 5 , [[0 , 1e2 ], [3 , 1e6 ]]),
265+ ([1e4 , 1e3 , 100 ], 20 , [[90 , - 1e7 ], [0 , 1e7 ]]),
266+ ([1e-3 , 3e-3 , 100 ], 20 , [[90 , 100 ], [20 , 1e4 ]]),
267+ ],
268+ )
261269def test_rolling_kurt_outlier_influence_rand (array_param , window_size , modifiers ):
262270 # #61416 Extreme values causes kurtosis value to become incorrect
263- rand_array = np .random .default_rng (5 ).normal (array_param [0 ], array_param [1 ], array_param [2 ])
271+ rand_array = np .random .default_rng (5 ).normal (
272+ array_param [0 ], array_param [1 ], array_param [2 ]
273+ )
264274 test_series = Series (rand_array )
265275 for ind , number in modifiers :
266276 test_series = test_series .replace (ind , number )
267-
268- #minimum elements needed for "window_size" number of kurts
269- min_elements_needed = array_param [2 ] - 2 * window_size + 1
270- expected_series = (test_series [min_elements_needed :])
271-
272- actual = test_series .rolling (window_size ,min_periods = 1 ).kurt ()
273- expected = expected_series .rolling (window_size ,min_periods = 1 ).kurt ()
274-
275- tm .assert_series_equal (actual .tail (window_size ),
276- expected .tail (window_size )
277- )
277+
278+ # minimum elements needed for "window_size" number of kurts
279+ min_elements_needed = array_param [2 ] - 2 * window_size + 1
280+ expected_series = test_series [min_elements_needed :]
281+
282+ actual = test_series .rolling (window_size , min_periods = 1 ).kurt ()
283+ expected = expected_series .rolling (window_size , min_periods = 1 ).kurt ()
284+
285+ tm .assert_series_equal (actual .tail (window_size ), expected .tail (window_size ))
0 commit comments