@@ -1516,16 +1516,41 @@ def test_rolling_skew_kurt_numerical_stability(method):
15161516 [3000000 , 1 , 1 , 2 , 3 , 4 , 999 ],
15171517 [np .nan ] * 3 + [4.0 , - 1.289256 , - 1.2 , 3.999946 ],
15181518 ),
1519+ (
1520+ "kurt" ,
1521+ [1e6 , - 1e6 , 1 , 2 , 3 , 4 , 5 , 6 ],
1522+ [np .nan ] * 3 + [1.5 , 4.0 , - 1.2 , - 1.2 , - 1.2 ],
1523+ ),
15191524 ],
15201525)
15211526def test_rolling_skew_kurt_large_value_range (method , data , values ):
1522- # GH: 37557, 47461
1527+ # GH: 37557, 47461, 61416
15231528 s = Series (data )
15241529 result = getattr (s .rolling (4 ), method )()
15251530 expected = Series (values )
15261531 tm .assert_series_equal (result , expected )
15271532
15281533
1534+ @pytest .mark .parametrize ("method" , ["skew" , "kurt" ])
1535+ def test_same_result_with_different_lengths (method ):
1536+ # GH-54380
1537+ len_smaller = 10
1538+ len_bigger = 12
1539+ window_size = 8
1540+
1541+ rng = np .random .default_rng (2 )
1542+ data = rng .normal (loc = 0.0 , scale = 1e3 , size = len_bigger )
1543+ window_smaller = Series (data [:len_smaller ]).rolling (window_size )
1544+ window_bigger = Series (data ).rolling (window_size )
1545+
1546+ result_smaller = getattr (window_smaller , method )()
1547+ result_bigger = getattr (window_bigger , method )()
1548+
1549+ result_bigger_trimmed = result_bigger [:len_smaller ]
1550+
1551+ tm .assert_series_equal (result_smaller , result_bigger_trimmed , check_exact = True )
1552+
1553+
15291554def test_invalid_method ():
15301555 with pytest .raises (ValueError , match = "method must be 'table' or 'single" ):
15311556 Series (range (1 )).rolling (1 , method = "foo" )
0 commit comments