@@ -1521,16 +1521,41 @@ def test_rolling_skew_kurt_numerical_stability(method):
15211521 [3000000 , 1 , 1 , 2 , 3 , 4 , 999 ],
15221522 [np .nan ] * 3 + [4.0 , - 1.289256 , - 1.2 , 3.999946 ],
15231523 ),
1524+ (
1525+ "kurt" ,
1526+ [1e6 , - 1e6 , 1 , 2 , 3 , 4 , 5 , 6 ],
1527+ [np .nan ] * 3 + [1.5 , 4.0 , - 1.2 , - 1.2 , - 1.2 ],
1528+ ),
15241529 ],
15251530)
15261531def test_rolling_skew_kurt_large_value_range (method , data , values ):
1527- # GH: 37557, 47461
1532+ # GH: 37557, 47461, 61416
15281533 s = Series (data )
15291534 result = getattr (s .rolling (4 ), method )()
15301535 expected = Series (values )
15311536 tm .assert_series_equal (result , expected )
15321537
15331538
1539+ @pytest .mark .parametrize ("method" , ["skew" , "kurt" ])
1540+ def test_same_result_with_different_lengths (method ):
1541+ # GH-54380
1542+ len_smaller = 10
1543+ len_bigger = 12
1544+ window_size = 8
1545+
1546+ rng = np .random .default_rng (2 )
1547+ data = rng .normal (loc = 0.0 , scale = 1e3 , size = len_bigger )
1548+ window_smaller = Series (data [:len_smaller ]).rolling (window_size )
1549+ window_bigger = Series (data ).rolling (window_size )
1550+
1551+ result_smaller = getattr (window_smaller , method )()
1552+ result_bigger = getattr (window_bigger , method )()
1553+
1554+ result_bigger_trimmed = result_bigger [:len_smaller ]
1555+
1556+ tm .assert_series_equal (result_smaller , result_bigger_trimmed , check_exact = True )
1557+
1558+
15341559def test_invalid_method ():
15351560 with pytest .raises (ValueError , match = "method must be 'table' or 'single" ):
15361561 Series (range (1 )).rolling (1 , method = "foo" )
0 commit comments