@@ -226,52 +226,60 @@ def test_rolling_kurt_eq_value_fperr(step):
226
226
assert (a [a .index >= 9 ] == - 3 ).all ()
227
227
assert a [a .index < 9 ].isna ().all ()
228
228
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
+ )
236
239
def test_rolling_kurt_outlier_influence (test_len , window_size , modifiers ):
237
240
# #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
+ )
239
244
for ind , number in modifiers :
240
245
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
243
248
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
+ )
261
269
def test_rolling_kurt_outlier_influence_rand (array_param , window_size , modifiers ):
262
270
# #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
+ )
264
274
test_series = Series (rand_array )
265
275
for ind , number in modifiers :
266
276
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