
    Mh                        S SK Jr  S SKrS SKrS SKJrJrJrJ	r	J
r
  S SKJr  S SKJr  \R                   R#                  SSS/SS//5      S	 5       r\R                   R#                  SSS/SS//5      S
 5       r\R                   R#                  SSS/SS//5      S 5       r\R                   R#                  SSS/SS//5      S 5       r\R                   R#                  SSS/SS//5      S 5       r\R                   R#                  S/ SQ5      \R                   R#                  SSS/5      S 5       5       r\R                   R#                  SSS/5      S 5       r\R                   R#                  SSS/5      S 5       r\R                   R4                  \R                   R#                  SSS/5      S 5       5       rS rS rS rS rg)    )partialN)	DataFrameSeriesconcatisnanotna)offsetszsp_func, roll_funckurtosiskurtskewc                    [         R                  " S5      n[        [        X15      SS9n[        U R	                  S5      U5      " 5       n[        U[        5      (       d   e[        R                  " UR                  S   U" U SS  5      5        g )Nscipy.statsFbias2   )
pytestimportorskipr   getattrrolling
isinstancer   tmassert_almost_equaliloc)seriessp_func	roll_funcsp_statscompare_funcresults         \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/window/test_rolling_skew_kurt.pytest_seriesr#      sq    ""=1H785EBLV^^B'35Fff%%%%6;;r?L,FG    c           	      V   [         R                  " S5      n[        [        XB5      SS9n[        UR	                  S5      U5      " 5       n[        U[        5      (       d   e[        R                  " UR                  SS S 24   UR                  SS 2S S 24   R                  USU S9SS	9  g )
Nr   Fr   r   r   r   r   )axisrawcheck_names)r   r   r   r   r   r   r   r   assert_series_equalr   apply)r'   framer   r   r   r    r!   s          r"   
test_framer-      s    ""=1H785EBLU]]2&	24Ffi((((BE

347!!,QC!@r$   c                    [         R                  " S5      n[        [        X15      SS9nSnU S S S2   R	                  S5      R                  5       n[        UR                  USS9U5      " 5       nUR                  S	   nUS
[        R                  " 5       -  -
  n	U S S S2   R                  X5      n
[        R                  " UR                  S	   U" U
5      5        g )Nr   Fr         B
   windowmin_periodsr      )r   r   r   r   resamplemeanr   indexr	   BDaytruncater   r   r   )r   r   r   r   r    winserseries_result	last_date	prev_datetrunc_seriess              r"   test_time_rule_seriesrB   *   s    ""=1H785EBL
C
1+

s
#
(
(
*CCKKsKCYOQM##B'IB//I#A#;''	=L=--b1<3MNr$   c                    [         R                  " S5      n[        [        XB5      SS9nSnUS S S2   R	                  S5      R                  5       n[        UR                  USS9U5      " 5       nUR                  S	   n	U	S
[        R                  " 5       -  -
  n
US S S2   R                  X5      n[        R                  " UR                  U	5      UR                  XPS9SS9  g )Nr   Fr   r/   r0   r1   r2   r3   r   r6   )r'   r(   )r   r   r   r   r7   r8   r   r9   r	   r:   r;   r   r*   xsr+   )r'   r,   r   r   r   r    r<   frmframe_resultr?   r@   trunc_frames               r"   test_time_rule_framerH   9   s    ""=1H785EBL
C
!*

c
"
'
'
)C3;;cr;BINPL""2&IB//I!*%%i;K	",0r$   c                    [         R                  " S5      n[        [        X 5      SS9n[	        [
        R                  R                  S5      R                  S5      5      n[
        R                  US S& [
        R                  USS & [        UR                  SSS	9U5      " 5       n[        R                  " UR                  S
   U" USS 5      5        [        UR                  SSS	9U5      " 5       n[        UR                  S   5      (       d   e[        UR                  S   5      (       a   e[        UR                  S   5      (       a   e[        UR                  S   5      (       d   e[	        [
        R                  R                  S5      R                  S5      5      n[        UR                  SSS	9U5      " 5       n[        UR                  S   5      (       d   e[        UR                  S   5      (       d   e[        UR                  SSS	9U5      " 5       n[        UR                  SSS	9U5      " 5       n[        R                  " Xx5        g )Nr   Fr   r0   r   r2      )r5   r            r6   i         r      )r   r   r   r   r   nprandomdefault_rngstandard_normalnanr   r   r   r   r   r   )	r   r   r   r    objr!   obj2result0result1s	            r"   	test_nansr]   L   s   ""=1H785EBL
&&q)99"=
>CvvCHCIS[[[4i@BF6;;r?LR,EF S[[[4i@BFB    FKKO$$$$FKKO$$$$B    "))''*::2>?DT\\"!\4i@BFAQ    ckk"!k4i@BGckk"!k4i@BG7,r$   minp)r   c   d   r   c                 <   [        U R                  [        U 5      S-   XS9U5      " 5       n[        U R                  [        U 5      XS9U5      " 5       n[        U5      n[        R
                  " U[        U5      5        U) n[        R                  " XF   XV   5        g )NrS   )r5   step)r   r   lenr   r   r*   r   )r   r^   r   rb   r!   expectednan_masks          r"   test_min_periodsrf   j   s     s6{QDDi F s6{@) H F|H8T(^4yH6+X-?@r$   c           	         [        [        R                  R                  S5      R	                  S5      5      n[        R
                  US S& [        R
                  USS & [        UR                  SSS9U 5      " 5       n[        [        U[        [        R
                  /S-  5      /5      R                  S5      U 5      " 5       R                  SS  R                  SS	9n[        R                  " X#5        g )
Nr0   r   r2   rJ   rL   T)center	   )drop)r   rT   rU   rV   rW   rX   r   r   r   r   reset_indexr   r*   )r   rY   r!   rd   s       r"   test_centerrl   z   s    
&&q)99"=
>CvvCHCIS[[D[19=?FVRVVHqL123;;B?KM	ab		$	 
 6,r$   c                    [        S5       Vs/ s H	  nSUS 3PM     nn[        U R                  [        U R                  5      U-   5      R                  SS9U5      " 5       R                  S5      R                  U R                  5      n[        U R                  SSS9U5      " 5       n[        R                  " XE5        g s  snf 	N   xdr/   )r4   iT)r4   rh   )	ranger   reindexlistr9   r   shiftr   r*   )r   r   rp   s	series_xp	series_rss         r"   test_center_reindex_seriesry      s     ""I&Iq1QqEIA& 	NN4-12::":E	
 	 
s		  b>	JLI90 	'   Cc                    [        S5       Vs/ s H	  nSUS 3PM     nn[        U R                  [        U R                  5      U-   5      R                  SS9U5      " 5       R                  S5      R                  U R                  5      n[        U R                  SSS9U5      " 5       n[        R                  " XE5        g s  snf rn   )	rr   r   rs   rt   r9   r   ru   r   assert_frame_equal)r,   r   rp   rv   frame_xpframe_rss         r"   test_center_reindex_framer      s     ""I&Iq1QqEIA& 	MM$u{{+a/0888C	
 	 
s		  u}}Bt}<iHJH(- 	'rz   c                    [        [        R                  /S-  S/-   5      S S U 2   n[        S/S-  5      nUR                  SU S9R	                  5       n[
        R                  " X5        [        [        R                  /S-  5      S S U 2   n[        [        R                  R                  S5      R                  S5      5      nUR                  SU S9R	                  5       n[
        R                  " X5        [        / SQ5      n[        [        R                  [        R                  [        R                  SS	/5      S S U 2   nUR                  SU S9R	                  5       n[
        R                  " X5        g )
NrR   g        rS   rP   r4   rb   r0   gH"gT,#gsRNj?gm
;?g6ܭ?gA.q?g(?)
r   rT   rX   r   r   r   r*   rU   rV   rW   rb   rd   rq   rp   s       r"   test_rolling_skew_edge_casesr      s(   rvvhlcU*+FdF3HsQwA				&++-A8'rvvhl#FdF+Hryy$$Q'77:;A				&++-A8' 	LMArvvrvvrvvxBCFdFKH				&++-A8'r$   c                    [        [        R                  /S-  S/-   5      S S U 2   n[        S/S-  5      nUR                  SU S9R	                  5       n[
        R                  " X5        [        [        R                  /S-  5      S S U 2   n[        [        R                  R                  S5      R                  S5      5      nUR                  SU S9R	                  5       n[
        R                  " X5        [        / SQ5      n[        [        R                  [        R                  [        R                  S	S
/5      S S U 2   nUR                  SU S9R	                  5       n[
        R                  " X5        g )NrR   g      rS   rP   r   r0   rQ   r   g8?g_":_@)
r   rT   rX   r   r   r   r*   rU   rV   rW   r   s       r"   test_rolling_kurt_edge_casesr      s,   rvvhldV+,VtV4H 	sQwA				&++-A8' rvvhl#FdF+Hryy$$Q'77:;A				&++-A8' 	LMArvvrvvrvvxBCFdFKH				&++-A8'r$   c                    [        S/S-  5      R                  SU S9R                  5       nXR                  S:     S:H  R	                  5       (       d   eXR                  S:     R                  5       R	                  5       (       d   eg )N皙?rM   r2   r   ri   r   )r   r   r   r9   allr   rb   as     r"    test_rolling_skew_eq_value_fperrr      sy     	urz"""4"8==?AgglOq %%''''WWq[> $$&&&&r$   c                    [        S/S-  5      R                  SU S9R                  5       nXR                  S:     S:H  R	                  5       (       d   eXR                  S:     R                  5       R	                  5       (       d   eg )Nr   rM   r2   r   ri   )r   r   r   r9   r   r   r   s     r"    test_rolling_kurt_eq_value_fperrr      sy     	urz"""4"8==?AgglOr!&&((((WWq[> $$&&&&r$   ) 	functoolsr   numpyrT   r   pandasr   r   r   r   r   pandas._testing_testingr   pandas.tseriesr	   markparametrizer#   r-   rB   rH   r]   rf   rl   ry   slowr   r   r   r   r    r$   r"   <module>r      s        " -V0DvvFV/WXH YH -V0DvvFV/WX
 Y
 -V0DvvFV/WXO YO -V0DvvFV/WX Y$ -V0DvvFV/WX- Y-: .vv&67A 8 /A vv&67- 8- vv&671 81  vv&67. 8 . (*(*''r$   