
    4ic                         S SK rS SKrS SKJr  S SKJrJrJrJ	r	J
r
JrJrJrJr  S SKJr  S SKJr  S SKJr  \R,                  S 5       r\R,                  S 5       r " S S	5      r " S
 S5      r " S S5      rS rS rg)    N)Pandas4Warning)		DataFrameDatetimeIndexIndex
MultiIndexNamedAggSeries	Timestamp
date_rangeto_datetime)BaseIndexer)get_groupbyc                  >    [        / SQ/ SQ[        / SQ5      S.5      $ )z0Frame for testing times argument in EWM groupby.)
abcr   r   r   r   r   r   r   )
r   r   r      r   r      r   r      )

2020-01-01r   r   z
2020-01-02
2020-01-10z
2020-01-22z
2020-01-03
2020-01-23r   z
2020-01-04ABC)r   r        b/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/window/test_groupby.pytimes_framer       s)     C/	
 r   c                  j    [        S/S-  S/S-  -   S/S-  -   [        R                  " S5      S.5      $ 	Nr      r      r      (   r   r   r   nparanger   r   r   
roll_framer+   /   s6    A38qcBh.!q8ryy}MNNr   c                      \ rS rSrS rS rS r\R                  R                  S/ SQ5      S 5       r
\R                  R                  SSS	/5      S
 5       r\R                  R                  S/ SQ5      S 5       r\R                  R                  SSS/SS//5      S 5       r\R                  R                  SSS/5      S 5       r\R                  R                  SSS/5      S 5       r\R                  R                  SSSS/SS//4SSS/SS//4/5      S 5       rS rS r\R                  R                  SSS/SS//5      S  5       rS! rS" r\R                  R                  S#/ S$Q5      S% 5       rS& rS' rS( rS) rS* r\R                  R                  S+S,S-/5      S. 5       rS/ rS0 rS1 rS2 r \R                  R                  S3S4S5SS6.\!RD                  S\!RD                  SS/4S70 \!RD                  S\!RD                  SS8/4/5      S9 5       r#\R                  R                  S:S;S<0S<4S;S=0S>4/5      S? 5       r$\R                  R                  S@SS/5      SA 5       r%SB r&SC r'SD r(SE r)SF r*\R                  R                  SGS5SHSI/ SJQ4S5S5SI/ SKQ4SLSLSI/ SMQ4SLSLSN/ SOQ4/5      SP 5       r+\R                  R                  SQ\,RZ                  " SRSS/5      STSU//5      SV 5       r.SW r/\R                  R                  SXSY/SZ/ S[Q0/SYS>/\0" S\5      \0" S]5      \0" S\5      \0" S]5      // S^QS_.//5      S` 5       r1Sa r2Sb r3Sc r4Sd r5Se r6Sfr7g=)gTestRolling4   c                     Sn[         R                  " [        US9   UR                  SSS9  S S S 5        g ! , (       d  f       g = f)Nz4groupby\(\) got an unexpected keyword argument 'foo'matchr   r   )foo)pytestraises	TypeErrorgroupby)selfr+   msgs      r   !test_groupby_unsupported_argument-TestRolling.test_groupby_unsupported_argument5   s4    E]]9C0s* 100s	   6
Ac                    UR                  S5      n[        USS9nUR                  R                  S 5      nUR	                  S5      R                  5       R                  n[        R                  " XT5        UR	                  S5      R                  R                  5       n[        R                  " XT5        UR                  R	                  S5      R                  5       n[        R                  " XT5        UR                  R                  UR                  5      R	                  S5      R                  5       n[        R                  " XT5        g )Nr   byc                 @    U R                  S5      R                  5       $ )Nr   rollingmeanxs    r   <lambda>*TestRolling.test_getitem.<locals>.<lambda>>   s    qyy|/@/@/Br   r   )	r6   r   r   applyr@   rA   tmassert_series_equalr   )r7   r+   g	g_mutatedexpectedresults         r   test_getitemTestRolling.test_getitem:   s    s#
s3	;;$$%BC1""$&&
v01$$&
v0Q$$&
v0%%jll3;;A>CCE
v0r   c                 R   UR                  S5      nUR                  SSS9n[        USS9nUR                  R	                  S 5      nUR                  R                  5       n[        R                  " Xe5        UR                  R                  5       n[        R                  " Xe5        g )Nr   r   r   min_periodsr<   c                 >    U R                  SSS9R                  5       $ )Nr   r   rP   )r@   countrB   s    r   rD   3TestRolling.test_getitem_multiple.<locals>.<lambda>Q   s    qyyy/J/P/P/Rr   )r6   r@   r   r   rF   rS   rG   rH   )r7   r+   rI   rrJ   rK   rL   s          r   test_getitem_multiple!TestRolling.test_getitem_multipleL   s    s#IIaQI'
s3	;;$$%RS
v0
v0r   f
sumrA   minmaxfirstlastrS   kurtskewnuniquec                   ^ UR                  SSS9nUR                  SS9n[        UT5      " 5       nUR                  U4S j5      n[        R
                  " US   [        S5      /5      nXvl        [        R                  " XV5        g )Nr   F
group_keys   windowc                 D   > [        U R                  S5      T5      " 5       $ Nre   getattrr@   rC   rX   s    r   rD   *TestRolling.test_rolling.<locals>.<lambda>m   s    WQYYq\1%=%?r   r&   
r6   r@   rk   rF   r   from_arraysrangeindexrG   assert_frame_equalr7   rX   r+   rI   rU   rL   rK   expected_indexs    `      r   test_rollingTestRolling.test_rollingY   sv      su5IIQIA77?@#//C%)0LM'
f/r   stdvarc                   ^ UR                  SSS9nUR                  SS9n[        UT5      " SS9nUR                  U4S j5      n[        R
                  " US   [        S	5      /5      nXvl        [        R                  " XV5        g )
Nr   Frc   re   rf   r   ddofc                 B   > [        U R                  S5      T5      " SS9$ )Nre   r   rz   rj   rl   s    r   rD   /TestRolling.test_rolling_ddof.<locals>.<lambda>y   s    WQYYq\1%=1%Er   r&   rn   rs   s    `      r   test_rolling_ddofTestRolling.test_rolling_ddofs   sw    su5IIQIAA&77EF#//C%)0LM'
f/r   interpolationlinearlowerhighermidpointnearestc                   ^ UR                  SSS9nUR                  SS9nUR                  STS9nUR                  U4S j5      n[        R
                  " US   [        S	5      /5      nXvl        [        R                  " XV5        g )
Nr   Frc   re   rf   皙?r   c                 B   > U R                  S5      R                  STS9$ )Nre   r   r   )r@   quantilerC   r   s    r   rD   3TestRolling.test_rolling_quantile.<locals>.<lambda>   s    aiil++C}+Mr   r&   )
r6   r@   r   rF   r   ro   rp   rq   rG   rr   )r7   r   r+   rI   rU   rL   rK   rt   s    `      r   test_rolling_quantile!TestRolling.test_rolling_quantile   s     su5IIQIC}=77M
 $//C%)0LM'
f/r   zf, expected_valcorrr   cov      ?c                 $   [        [        S5      S/S-  S/S-  -   / SQS-  S.5      R                  SS/5      n[        [        S5      / SQS	.5      R                  S5      n[        UR	                  S
S9R                  S5      U5      " U5      n[        R                  /U/S-  -   S-  n[        US/[        R                  " S/S-  S/S-  -   S/S-  S/S-  -   [        [        SS5      5      S-  // SQS9S9n[        R                  " XW5        g )N
   r      r   )r   r   r   re   r   )valueidx1idx2r   r   )r   r   r   levelre   r      )r   r   r   namescolumnsrq   )r   rp   	set_indexrk   r6   r@   r)   nanr   ro   listrG   rr   )r7   rX   expected_valdfotherrL   expected_datarK   s           r   /test_rolling_corr_cov_other_same_size_as_groups;TestRolling.test_rolling_corr_cov_other_same_size_as_groups   s"    Bi!qA37):OVWDWX

)VV$
% 	 E!HoFGQQ
 !,44Q7;EB&&\NQ$66!;I((C!GqcAg%C!GqcAg%q!%)
 /
 	f/r   c                    ^^ TR                  S5      nUR                  SS9n[        UT5      " T5      nUU4S jnUR                  U5      n[        R
                  US'   [        R                  " XW5        g )Nr   re   rf   c                 F   > [        U R                  S5      T5      " T5      $ ri   rj   )rC   rX   r+   s    r   funcITestRolling.test_rolling_corr_cov_other_diff_size_as_groups.<locals>.func   s    199Q<+J77r   )r6   r@   rk   rF   r)   r   rG   rr   r7   rX   r+   rI   rU   rL   r   rK   s    ``     r   /test_rolling_corr_cov_other_diff_size_as_groups;TestRolling.test_rolling_corr_cov_other_diff_size_as_groups   sd    s#IIQIAz*	8 774= 
f/r   c                    ^ UR                  S5      nUR                  SS9n[        UR                  T5      " SS9nU4S jnUR	                  U5      n[
        R                  " XW5        g )Nr   re   rf   Tpairwisec                 V   > [        U R                  R                  S5      T5      " SS9$ )Nre   Tr   )rk   r   r@   rl   s    r   r   8TestRolling.test_rolling_corr_cov_pairwise.<locals>.func   s!    133;;q>1-t<<r   )r6   r@   rk   r   rF   rG   rH   r   s    `      r   test_rolling_corr_cov_pairwise*TestRolling.test_rolling_corr_cov_pairwise   sY    s#IIQIa$/	= 774=
v0r   zfunc, expected_values      ?      @c                    [        / SQ/ SQ/ SQS.5      nUR                  S5      R                  S5      n[        XA5      " 5       n[        S[        R
                  /-  US   -   S	[        R
                  /-  -   S[        R
                  /-  US
   -   S	[        R
                  /-  -   S.[        R                  " / SQ/ SQS9S9n[        R                  " XV5        g )N)g1g2r   r   )r   r   r   r   )r   r   r   re   r   r   r   r   r   re   r   r   r   )r   r   ))r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   NNr   rq   )
r   r6   r@   rk   r)   r   r   from_tuplesrG   rr   )r7   r   expected_valuesr   rolrL   rK   s          r   test_rolling_corr_cov_unordered+TestRolling.test_rolling_corr_cov_unordered   s     -!!
 jjo%%a(#%"&&\OA$66bffXE"&&\OA$66bffXE ((	 (
& 	f/r   c                   ^ UR                  SSS9nUR                  SS9nUR                  S TS9nUR                  U4S j5      n[        R                  " US   [        S	5      /5      nXvl        [        R                  " XV5        g )
Nr   Frc   re   rf   c                 "    U R                  5       $ NrZ   rB   s    r   rD   0TestRolling.test_rolling_apply.<locals>.<lambda>   
    1557r   rawc                 D   > U R                  S5      R                  S TS9$ )Nre   c                 "    U R                  5       $ r   r   ys    r   rD   BTestRolling.test_rolling_apply.<locals>.<lambda>.<locals>.<lambda>   s
    !%%'r   r   )r@   rF   rC   r   s    r   rD   r      s    QYYq\%7%78Is%7%Sr   r&   )	r6   r@   rF   r   ro   rp   rq   rG   rr   )r7   r   r+   rI   rU   rL   rK   rt   s    `      r   test_rolling_applyTestRolling.test_rolling_apply   s|    su5IIQI *477ST#//C%)0LM'
f/r   c                    [        S/S-  S/S-  -   S/S-  S.5      nUR                  S5      n[        R                  " / SQ5      nSS /Ul        [        [
        R                  S	S	/S
-  S/US9nUR                  S
S9R                  5       n[        R                  " XT5        UR                  5         UR                  S
S9R                  5       n[        R                  " XT5        g )Nr2   r   barr   r   r'   r   ))r   r   )r   re   )r   r   )r2   r   )r2   r   )r2   r          @r   r   r   rf   )r   r6   r   r   r   r)   r   r@   rZ   rG   rr   )r7   r   rI   mirK   rL   s         r   test_rolling_apply_mutability)TestRolling.test_rolling_apply_mutability   s    eWq[E7Q;6aS1WEFJJsO##T
 ;bffc3/!3cU"M!$((*
f/ 	
 !$((*
f/r   zexpected_value,raw_valueT        Fc                    S n[        / SQ/ SQS.5      nUR                  S5      R                  R                  S5      R	                  X2S9n[        U/S-  [        R                  " S	SS /S
9SS9n[        R                  " XV5        g )Nc                 H    [        [        U [        R                  5      5      $ r   )int
isinstancer)   ndarrayrB   s    r   isnumpyarray6TestRolling.test_groupby_rolling.<locals>.isnumpyarray  s    z!RZZ011r   r   r   r   r   r   r   )idr   r   r   r   r   )r   r   r   r   r   r   r   r   rq   name)
r   r6   r   r@   rF   r	   r   r   rG   rH   )r7   expected_value	raw_valuer   r   rL   rK   s          r   test_groupby_rolling TestRolling.test_groupby_rolling  s    	2 i)<=D!''//2888Uq (()A$PTV

 	v0r   c                 F   [        [        SS5      5      nUR                  U5      R                  SSS9R	                  5       n[        [
        R                  /S-  [        R                  " S5      S9n[        R                  " X#5        [        [        SS5      5      nUR                  U5      R                  SSS9R	                  5       n[        [
        R                  /S	-  [        R                  " S
5      S9n[        R                  " X#5        [        S/S-  S/S-  -   [        S5      S.5      nUR                  S5      R                  SSS9R	                  5       n[        [
        R                  SSS[
        R                  [
        R                  SSSS[
        R                  /[        R                  " SSS /S9S/S9n[        R                  " X#5        [        S/S-  S/S-  -   [        S5      S.5      nUR                  S5      R                  SSS9R	                  5       n[        [
        R                  SSS[
        R                  [
        R                  SSS[
        R                  /
[        R                  " SSS /S9S/S9n[        R                  " X#5        g )Nr   r   Tr   )centerrg   r   )r   r   r   r   r   re   r   )r   re   r   re   )r   r   r   r   r   r      r   r   r      r%   	   )r   r   r   r   r   r   r   r   r   re   r   r   r   r   r   r   r   r%   r   r   )r   r   r   )rq   r   r   )
r   r   r   r   r   r   r   r   r   r   )r	   rp   r6   r@   rA   r)   r   r   r   rG   rH   r   rr   )r7   seriesrL   rK   r   s        r   "test_groupby_rolling_center_center.TestRolling.test_groupby_rolling_center_center  s<   a$'//tA/FKKMVVHqL(()QR
 	v0a$'//tA/FKKMVVHqL(()IJ
 	v0cUQY#2rCDC((Q(?DDFVVQ1bffbffaAq"&&A(( Dk  E%
( 	f/cUQY#2rCDC((Q(?DDFVVQ1bffbffaArvv>(( Dk E#
& 	f/r   c                 P   [        [        SS5      S/S-  S/S-  -   [        S5      S.S	9nUR                  S
5      R	                  SSSSS9R
                  R                  5       n[        R                  " US
   US   /S
S/S9n[        / SQSUS9n[        R                  " X$5        g )Nr   r   group_1r   group_2re   r   )Dategbr   )datar  r  Tr   )onr   rQ   r   )
r         ?r   g      @      @g      @      @      @r  r  r   r   rq   )r   r   rp   r6   r@   r   rA   r   ro   r	   rG   rH   )r7   r   rL   r   rK   s        r   test_groupby_rolling_center_on*TestRolling.test_groupby_rolling_center_on]  s    "<> kAoa7r
 JJtWQ6$AW>U446 	
 ##RXr&z$:4.Q>

 	v0r   rQ   )r   re   r   c                    [        S/S-  S/S-  -   [        S5      S.5      nSnUR                  S5      R                  USUS	9R	                  5       nUR                  5       SS
/   n/ SQnU Vs/ s H  ofS-   PM	     nn[        SUS-
  5      n[        R                  /U-  n	XUSU-
   -   U	-   n
XUSU-
   -   U	-   n[        S/S-  S/S-  -   X-   S.5      n[        R                  " XL5        g s  snf )Nr   r   r   r#   )groupr  r   r  T)r   rQ   r  )
r   r
  r   r  r         @      @r  r         @      $@r   r   )r   rp   r6   r@   rA   reset_indexr\   r)   r   rG   rr   )r7   rQ   r   window_sizerL   
grp_A_meanrC   
grp_B_meannum_nansnansgrp_A_expectedgrp_B_expectedrK   s                r   'test_groupby_rolling_center_min_periods3TestRolling.test_groupby_rolling_center_min_periodss  s    #sebj!8%)LMJJwW[;WGTV 	
 ##%w&78G
(23
1$h

3q+/*x("8b8m DDtK8b8m DDtKebjC52:-~7VW
 	f/ 4s   0C/c           	         [        / SQ/ SQ/ SQS.5      nUR                  S5      S/   R                  S5      R                  5       n[        [        R
                  [        R
                  S[        R
                  /S/[        R                  " S	SS /S
9S9n[        R                  " X#5        UR                  S5      S   R                  S5      R                  5       n[        [        R
                  [        R
                  S[        R
                  /[        R                  " S	SS /S
9SS9n[        R                  " X#5        g )N)r   r   r   r   )r   r   r  r   )r   r#      r#   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r6   r@   r\   r)   r   r   r   rG   rr   r	   rH   r7   r   rL   rK   s       r   test_groupby_subselect_rolling*TestRolling.test_groupby_subselect_rolling  s   %9@PQ
 C#'//2668VVRVVS"&&)E((0d
 	f/C%--a0446VVRVVS"&&)((0d 
 	v0r   c                 x    " S S[         5      n[        S/ SQS-  0S/S-  S/S-  -   S	/S-  -   S
9nUR                  UR                  5      R	                  U" SS9SS9R                  5       nUR                  UR                  5      R	                  SSS9R                  5       n[        R                  " X45        g )Nc                   (    \ rS rSr     SS jrSrg)FTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexeri  Nc                     Uc  U R                   OSn[        R                  " U[        R                  S9S-   nX`R                   -
  nX'US:  '   Xv4$ )Nr   dtyper   )r  r)   r*   int64)r7   
num_valuesrQ   r   closedstependstarts           r   get_window_boundsXTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexer.get_window_bounds  sQ     3>2Ed..1ii
"((;a?...#.eai z!r   r   )r   NNNN)__name__
__module____qualname____firstlineno__r3  __static_attributes__r   r   r   SimpleIndexerr)    s      "r   r:  r   )r   r   r  r   r  r   r   r   r   r   r   )r  rP   rg   rQ   )r   r   r6   rq   r@   rZ   rG   rr   )r7   r:  r   rL   rK   s        r   #test_groupby_rolling_custom_indexer/TestRolling.test_groupby_rolling_custom_indexer  s    	"K 	" +a/0a1#'8IQCRSG8S
 JJrxx W]q1qWASU 	
 ::bhh'//qa/HLLN
f/r   c                    [        [        S5      [        S5      S/S-  S/S-  -   S Vs/ s H  n[        U5      PM     snS-  S.5      nUR                  S5      R	                  S	S
SS9S   R                  5       n[        [        R                  [        R                  SS[        R                  [        R                  SS/[        R                  " USS
/   SS
/S9SS9n[        R                  " X45        g s  snf )Nr%   r   re   r   
2019-01-01r@  
2019-01-02rA  r   column1column2r  dater  1DrE  leftr	  r/  rC  r         "@r   r   r   rp   r
   r6   r@   rZ   r	   r)   r   r   
from_framerG   rH   r7   rE  r   rL   rK   s        r   'test_groupby_rolling_subset_with_closed3TestRolling.test_groupby_rolling_subset_with_closed  s     8 8cUQY. !Y X dO X 			
 JJw'''G	RVVX 	 VVRVVS#rvvrvvsC@''GV$%' 
 	v0%s   C8c           	         [        / SQ/ SQ/ SQS.5      nUR                  S5      R                  S5      R                  [	        S[
        S9[	        S	[        S9S
9n[        [        R                  SS[        R                  SS/[        R                  SS[        R                  SS/S
.[        SS// SQ// SQ/ SQ/SS /S9S9n[        R                  " X#5        g )NcatdogrQ  rR  rQ  rR  333333"@r        #@g      A@      (@r  皙@r  g#@g     h@r  g      E@kindheightweightrZ  r   r\  columnaggfuncr[  total_weight
min_height1@gfffff3@     i@g      n@rT  rU  r  r  rQ  rR  r   r   r   r   re   r   r   r   r   r   r   r   r   r   re   r   r   r   r   r   )r   r6   r@   aggr   rZ   r[   r)   r   r   rG   rr   r$  s       r   !test_groupby_rolling_agg_namedagg-TestRolling.test_groupby_rolling_agg_namedagg  s    B:<
 JJvWQZS%XsC#8SA   	 !#tRVVUE J!vvsCcB !34#%78tn

 	f/r   c                    [        [        S5      [        S5      S/S-  S/S-  -   S Vs/ s H  n[        U5      PM     snS-  S.5      nUR                  S5      S	S
/   R	                  SS
SS9S	   R                  5       n[        [        R                  [        R                  SS[        R                  [        R                  SS/[        R                  " USS
/   SS
/S9S	S9n[        R                  " X45        g s  snf )Nr%   r   re   r   r?  r   rB  r  rC  rE  rF  rG  rH  r   rI  r   r   rJ  rL  s        r   .test_groupby_subset_rolling_subset_with_closed:TestRolling.test_groupby_subset_rolling_subset_with_closed  s    8 8cUQY. !Y X dO X 			
 JJwF 34WTfVW4Y@SU 	
 VVRVVS#rvvrvvsC@''GV$%' 
 	v0+s   C=r   r\   r[   c                 X   [        / SQ[        R                  " / SQSS/S9SS9n[        UR	                  U5      R                  S5      U5      " 5       n[        [        R                  [        R                  S	/[        R                  " / S
Q/ SQS9SS9n[        R                  " X45        g )N)r   r   r   ))r   rC   )r   r   )r   z12r   r   r   r   r   ))r   r   rC   )r   r   r   )r   r   ro  )r   rp  rq  )
r	   r   r   rk   r6   r@   r)   r   rG   rH   )r7   r   dsrL   rK   s        r   "test_groupby_rolling_index_changed.TestRolling.test_groupby_rolling_index_changed  s     ((4S#J 
 B//2D9;VVRVVS!((=_ 
 	v0r   c           	      P   [        S/ 05      nUR                  S5      R                  SS9R                  5       nUR	                  SS9n[
        R                  " [        / SS9[        / SS9/SS /S9Ul        [        R                  " X!5        [        / / S	.5      nUR                  SS
/5      R                  SS9R                  5       nUR	                  SS
/S9n[
        R                  " [        / SS9[        / SS9[        / SS9// SQS9Ul        [        R                  " X!5        g )Ns1r   rf   r   float64r+  r-  r   )rv  s2ry  )rv  ry  N)r   r6   r@   rZ   dropr   from_productr   rq   rG   rr   )r7   rK   rL   s      r    test_groupby_rolling_empty_frame,TestRolling.test_groupby_rolling_empty_frame/  s    dBZ(!!$'//q/9==?===. $002Y'r)AB4QU,
 	f/Bb12!!4,/77q7AEEG==$=6#00b	*b	*b(
 %
 	f/r   c                 v   [        SS[        SSSS5      /SS[        SSSS5      /SS	[        SSS
S5      /SS[        SSSS5      /SS	[        SSSS5      /// SQS9R                  S5      nUR                  S5      nUR	                  5       US'   UR                  SSS9nUR                  S 5      n[        SS[        SSSS5      S/SS[        SSSS5      S/SS[        SSSS5      S/SS	[        SSS
S5      S/SS	[        SSSS5      S/// SQS9R                  SS/5      n[        R                  " XE5        g )Nr   r    r   r   r   r   Zr  r   Hr   Er#   )rq   r  	eventTimerw  rq   r  count_to_date10Dr  r	  c                      U R                   S   $ )Nr   )shape)r   s    r   rD   ?TestRolling.test_groupby_rolling_string_index.<locals>.<lambda>Z  s    !r   r   r   r  )rq   r  r  r  )	r   r
   r   r6   cumcountr@   rF   rG   rr   )r7   r   groupsrolling_groupsrL   rK   s         r   !test_groupby_rolling_string_index-TestRolling.test_groupby_rolling_string_indexJ  s~   i4Aq!9:i4Aq!9:i4Aq!9:i4Aq!9:i4B!:; 4	
 )G
 	 G$$oo/?+>%%&<=i4Aq!93?i4Aq!93?i4Aq!93?i4Aq!93?i4B!:C@ E	
 )Wg&
' 	 	f/r   c           	      D   [        SS/SS/S.5      R                  SSS9R                  S5      R                  5       n[        [        R
                  " SS/SS//5      SS	/[        R                  " S
S/SS /S9S9nUR                  SS9n[        R                  " X5        g )Nr   r   )r2   r   r2   F)sortr   r   r   )r   r   r   r   r   rw  )r   r6   r@   r[   r)   arrayr   r   rz  rG   rr   )r7   rL   rK   s      r   test_groupby_rolling_no_sort(TestRolling.test_groupby_rolling_no_sortg  s     q!faV45WUW'WQZSU	 	 HHsCj3*-.EN((&&)9%O
 ===/
f/r   c                    [        [        S5      [        S5      SSS/-  [        SSUS9S.5      nSn[        R                  " [
        US	9   UR                  S
5      R                  SSSS9S   R                  5       nS S S 5        [        / SQSU S3S9n[        R                  " / SQU/S
S/S9n[        [        R                  SS[        R                  SS/SUS9n[        R                  " WU5        g ! , (       d  f       N~= f)Nr   r   r   r   20190101)r1  periodsunitrB  z:'d' is deprecated and will be removed in a future version.r0   r  3drE  rG  rH  rC  )z
2018-12-27z
2018-12-29z
2018-12-31z
2018-12-28z
2018-12-30r@  M8[]r+  )r   r   r   r   r   r   r   r   r  )r   rp   r   rG   assert_produces_warningr   r6   r@   rS   r   r   ro   r	   r)   r   rH   )r7   r  r   r8   rL   dtir   rK   s           r   $test_groupby_rolling_count_closed_on0TestRolling.test_groupby_rolling_count_closed_onx  s    8 8c3Z"z14H	
 K''cB

7#&8D  C  vQ-

 ##. F#
 VVS#rvvsC0

 	vx0; CBs   2C66
D)r   kwargsr   r@   r   r;  	expandingg3Ey?c                 N   [        SS/SS/SS/SS/SS//SS/S9n[        UR                  S5      U5      " S0 UD6R                  5       n[        [        R
                  /S-  US.[        R                  " / S	QSS /S
9S9nUR                  SS9n[        R                  " XV5        g )Nr   r   r   r   r   rw  r   r   )r   r   )r   r   )r   r   r   re   r   r   r   )r   rk   r6   semr)   r   r   r   rz  rG   rr   )r7   r   r  r   r   rL   rK   s          r   test_groupby_rolling_sem$TestRolling.test_groupby_rolling_sem  s     1XQx#qC8c1X>c

 C$/9&9==?66(Q,_5((B3PT+
 ===-
f/r   )rollingskeyr	  r   Nrq   c                 :   [        [        SS[        R                  /5      / SQ/ SQS.5      nUS:X  a  UR	                  S5      n[
        R                  " [        U S3S	9   UR                  S
5      R                  " S0 UD6  S S S 5        g ! , (       d  f       g = f)Nz2020-06-01 12:00z2020-06-01 14:00r   r   r   rq   r   z values must not have NaTr0   r   )60min)
r   r   r)   r   r   r3   r4   
ValueErrorr6   r@   )r7   r  r  r   s       r   "test_groupby_rolling_nans_in_index.TestRolling.test_groupby_rolling_nans_in_index  s    
  "46H"&&!QR
 '>c"B]]:u4M-NOJJsO##8x8 POOs   !"B
Brd   c                 &   / SQ/ SQ/n[         R                  " USS9n[        / SQUS9nUR                  SS/US9R	                  S	5      R                  5       n[        / S
Q[         R                  " / SQ/ SQS9S9n[        R                  " XV5        g )Nval1r  val2r   r   r   r   r   r   r   rc   r   )r   r   r  )r  r  r  r  r  )r  r  r  r  )r   r   r   r   )	r   ro   r	   r6   r@   rA   r   rG   rH   )r7   rd   arraysrq   srL   rK   s          r   test_groupby_rolling_group_keys+TestRolling.test_groupby_rolling_group_keys  s    
 +,DE&&v5EF9E*FF+
CKKANSSU((
 7

 	v0r   c                 D   / SQ/ SQ/n[         R                  " USS9n[        / SQ[        S5      S.US9nUR	                  SS	/5      R                  S
5      R                  5       n[        S/ SQ0[         R                  " / SQ/ SQS9S9n[        R                  " XE5        g )Nr  r  r   )r   r   r   r   r'   r   r   r   r   r   )r   r   r   )r  r   r  r  r  )r  r   r  r  )r   r   r   r   )
r   ro   r   rp   r6   r@   rA   r   rG   rr   r7   r  rq   r   rL   rK   s         r   1test_groupby_rolling_index_level_and_column_label=TestRolling.test_groupby_rolling_index_level_and_column_label  s    *,DE&&v5EFYU1X6eDVSM*2215::</"((
 4

 	f/r   c                 "   [        [        R                  " S5      SS/S-  S.5      nUR                  S5      R	                  S5      R                  5       n[        R                  " / SQSS /S	9n[        R                  " UR                  U5        g )
Nr  r   r   re   r   r   r   )r   r   )r   re   )r   r   r   r#  )r   r   )r   r   r   )r   r)   r*   r6   r@   rA   r   r   rG   assert_index_equalrq   r7   r   rL   rt   s       r   )test_groupby_rolling_resulting_multiindex5TestRolling.test_groupby_rolling_resulting_multiindex  st    
 RYYs^1a&1*=>C((+002#//L+
 	fllN;r   c                 2   [        [        R                  " S5      SS/S-  / SQS-  S.5      nUR                  SS	/5      R	                  S5      R                  5       n[        R                  " / S
Q/ SQS9n[        R                  " UR                  U5        g )NrV  r   r   r   r   r   r   re   r   r   r   r   ))r   r   r   )r   r   re   )r   r   r%   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   re   r   )r   re   r   )r   re   r   )r   r   Nr   )r   r)   r*   r6   r@   rZ   r   r   rG   r  rq   r  s       r   *test_groupby_rolling_resulting_multiindex26TestRolling.test_groupby_rolling_resulting_multiindex2  s    RYYt_Aq6A:LSTDTUVS#J'//2668#// #
" 	fllN;r   c                 L   [        [        R                  " S5      SS/S-  / SQS-  S.5      nUR                  SSS	9nUR	                  S
5      R                  S5      R                  5       n[        R                  " / SQ/ SQS9n[        R                  " UR                  USS9  g )Nr  r   r   re   r  r   r   T)appendr   r   ))r   r   r   r   )r   re   r   )r   r   r   )r   r   r   )r   r   re   )r   r   r   )r   r   re   )r   Nr   r   equiv)exact)r   r)   r*   r   r6   r@   rA   r   r   rG   r  rq   r  s       r   *test_groupby_rolling_resulting_multiindex36TestRolling.test_groupby_rolling_resulting_multiindex3  s    RYYs^1a&1*<RSCSTU\\#d\+C((+002#//	 #
 	fllN'Jr   c                     UR                  SSS9nUR                  S 5      R                  nUR                  SS9nUR                  S 5      R                  n[        R
                  " XS5        g )Nr   Frc   c                 @    U R                  S5      R                  5       $ ri   r@   rZ   rB   s    r   rD   UTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply.<locals>.<lambda>5  s    QYYq\%5%5%7r   re   rf   c                 @    U R                  S5      R                  5       $ ri   r  rB   s    r   rD   r  7  s    199Q<#3#3#5r   )r6   rF   rq   r@   rG   r  )r7   r+   rI   rK   _rL   s         r   7test_groupby_rolling_object_doesnt_affect_groupby_applyCTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply2  s_    su57778>>IIQI56<<
f/r   )rg   rQ   r/  rK   r   rG  )Nr   r   r   Nr   r   r   )NNr   r   NNr   r   re   )NNNNNNNNright)NNNr  NNNr  c           	      4   [        / SQ5      nUR                  / SQ5      R                  XUS9R                  S5      n[        [        R
                  " USS9[        [        R
                  " SS/5      / S	Q// S
Q/ SQ/S9S9n[        R                  " Xg5        g )N)r   r   r   re   r   r   r   r%   )r   r   r   r   r   r   r   r   )rg   rQ   r/  r   rx  r+  r   r   )r   r   r   r   re   r   r   r   )r   r   r   r   r   r   r   r   )r   r   re   r   r   r   r   r   )levelscodesr   )	r   r6   r@   rx   r)   r  r   rG   rr   )r7   rg   rQ   r/  rK   r   rL   expected_results           r   test_groupby_rolling_var$TestRolling.test_groupby_rolling_var:  s     /0JJ/0WFFWKSV 	
 $HHXY/!Q(*BC/1IJ
 	f6r   r   )r    )r   r   r   r   c                 D   [        SS//S-  SS//S-  -   SS//S-  -   US9nUR                  S	5      nUR                  R                  S
S9nUR	                  S5      nUR                  5       nS	UR                  ;  d   e[        R                  " UR                  U5        g )Nr   r   r#   r   r$   r   r%   rw  r   T)deepre   )	r   r6   objcopyr@   rZ   r   rG   rr   )r7   r   r   rI   original_objrU   rL   s          r   test_by_column_not_in_values(TestRolling.test_by_column_not_in_valuesS  s    
 Ax"}Ax"}4Ax!|CWUJJsOuuzztz,IIaL&..(((
aee\2r   c                 h   / SQ/ SQ/n[         R                  " USS9n[        S/ SQ0US9nUR                  SS	9S   R	                  S
5      R                  5       n[        [        R                  S[        R                  S/[         R                  " / SQ/ SQS9SS9n[        R                  " XE5        g )N)Falconr  Parrotr  )CaptiveWildr  r  )AnimalTyper   z	Max Speed)g     `x@g     u@g      >@g      4@r   r   r   r   g      @g      I@))r  r  r  )r  r  r  )r  r  r  )r  r  r  )r  r  r  r   )r   ro   r   r6   r@   rZ   r	   r)   r   r   rG   rH   r  s         r   test_groupby_levelTestRolling.test_groupby_level`  s     52
 &&v5GH%?@N!$[199!<@@BVVUBFFD)(( 3 
 	v0r   zby, expected_datar   num)      Y@     b@r        i@
2018-01-01
2018-01-02)r  r  r       @o@)rE  r  c                    / SQ/ SQ/ SQ/ SQ/n[        U/ SQS9nUS   R                  SU S	35      US'   UR                  S/5      nU Vs/ s H  n[        XV5      PM     nnUR	                  US
S9R                  SSS9R                  5       nS/ SQ0n	U	R                  U5        [        U	UR                  S9n	SU;   a  U	S   R                  SU S	35      U	S'   [        R                  " X5        g s  snf )N)r   r  r  )r   r  r  )r   r  r  )r   r  r  )r   rE  r  rw  rE  r  r  F)as_indexr   r   r;  r   )r   r   r   r   r   )r   astyper   rk   r6   r@   rA   updaterq   rG   rr   )
r7   r=   r   r  r  r   attrgp_byrL   rK   s
             r   test_as_index_falseTestRolling.test_as_index_falsex  s	   * '&&&	
 t%:;Z&&TF!}56
\\6(#/12rt"r2JJuuJ-55QA5NSSU 	 ./&((
 ]"'/66TF!}EHV
f/ 3s   C2c                 8   [         R                  " U5      R                  nSn[         R                  " U" S5      U5      nSUS'   Sn[         R                  " XS5      n[         R                  US'   SUS'   [        UUS.5      R                  S5      nUR                  S5      S   R                  S	SS
9R                  5       n[        US[        R                  " [        S/S-  S/-   USS9[        S/S-  S/-   USS9/5      S9n	[        R                  " X5        g )N  r   r   g52DE)rq   adl2rq   r  r   r;  i  )r,  r   r  )r)   r,  typerepeatr   r   r   r6   r@   rA   r	   r   ro   r   rG   rH   )
r7   any_int_numpy_dtypetypsizeidxvalarrr   rL   rK   s
             r   test_nan_and_zero_endpoints'TestRolling.test_nan_and_zero_endpoints  s   hh*+00iiA%Bii"AB

 )G
 	 G$V,44BA4NSSU((1#)qc/7C1#)qc/7C	
 	v0r   c           	      "   / SQnSn[        U Vs/ s H  n[        SU-  U-  5      US-   SS.PM     sn5      n[        R                  " [        SS9   UR                  S	5      R                  S
SS9  S S S 5        g s  snf ! , (       d  f       g = f)N)r   r   r   r   r  r   r   *   )trC   r   z.* must be monotonicr0   r   r
  3s)r	  rg   )r   r
   r3   r4   r  r6   r@   )r7   shuffledsecrC   r   s        r   "test_groupby_rolling_non_monotonic.TestRolling.test_groupby_rolling_non_monotonic  s      IQRA9QUS[)AB?R
 ]]:-DEJJsO##s4#8 FE SEEs   "A; B  
Bc                    / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/ S
Q/
n[        U/ SQS9n[        US   5      US'   UR                  S5      nUR                  S5      R	                  S5      R                  S 5      nUR	                  S5      R                  SSS9S   R                  5       n[        R                  " XC5        g )N)Davidz1/1/2015d   )r  z1/5/2015  )r  z	5/30/20152   )r  z	7/25/2015r  )Ryanz1/4/2014r  )r  z	1/19/2015r  )r  z	3/31/2016r  )Joez7/1/2015r  )r  z9/9/2015r  )r  z
10/15/2015r  )r   rE  amount)r  r   rE  r   c                 F    U R                  S5      S   R                  5       $ )N180Dr  r  rB   s    r   rD   4TestRolling.test_groupby_monotonic.<locals>.<lambda>  s    QYYv.x8<<>r   r  r  r  )
r   r   sort_valuesr   r6   rF   r@   rZ   rG   rH   )r7   r  r   rK   rL   s        r   test_groupby_monotonic"TestRolling.test_groupby_monotonic  s     '&&&%&%$$%
 D*DE F,6
^^F# LL WV_U>? 	
 F#++Fv+>xHLLN
v0r   c                    [        SSSS9n[        S/S-  S/S-  -   S/S	-  -   [        R                  " X45      [        R                  " S
5      S.5      nUR                  S5      R                  S5      R                  S 5      nUR                  S5      R                  SSS9R                  R                  5       n[        R                  " XC5        g )Nz2016-01-01 09:30:00r#   r  )r2  r  freqr   r   r$   r   r%   r&   r   r   r   c                 F    U R                  S5      S   R                  5       $ )N4sr   r?   rB   s    r   rD   JTestRolling.test_datelike_on_monotonic_within_each_group.<locals>.<lambda>  s    199T?3;O;T;T;Vr   r!  r  )r   r   r)   concatenater*   r   r6   rF   r@   r   rA   rG   rH   )r7   datesr   rK   rL   s        r   ,test_datelike_on_monotonic_within_each_group8TestRolling.test_datelike_on_monotonic_within_each_group  s     !6MS2Xb(A372^^UN3YYr]
 LL%%c*001VW 	 C((#(688==?
v0r   c                 6   [        S/S-  S/S-  -   S Vs/ s H  n[        USS5      PM     snS-  [        S5      S.5      n[        R                  " [
        SS9   UR                  S	5      R                  S
SS9  S S S 5        g s  snf ! , (       d  f       g = f)Nr   r   r   )i  i  r  r   r   z&Each group within B must be monotonic.r0   r   365Dr   r  )r   r
   rp   r3   r4   r  r6   r@   )r7   yearr   s      r   0test_datelike_on_not_monotonic_within_each_group<TestRolling.test_datelike_on_not_monotonic_within_each_group  s    S1WsQw&8JK8Jia+8JKaO1X
 ]]:-UVJJsO##Fs#3 WV	 L WVs   B
 B


Br   )8r5  r6  r7  r8  r9   rM   rV   r3   markparametrizeru   r~   r   r   r   r   r   r   r   r   r  r  r  r%  r<  rM  ri  rl  rs  r|  r  r  r  r)   r   r  r  r  r  r  r  r  r  r  r   r   r  r  r
   r  r  r  r  r%  r*  r9  r   r   r   r-   r-   4   sW   +
1$1 [[	
	0	0 [[S5%.1	0 2	0 [[M00 [[.&!ucl0KL0 M00 [[S65/20 30 [[S65/2
1 3
1 [[
3*sCj)	*VsCj3*5M,NO0	0@
00. [[73+U|9TU1 V1?0B1, [[]I60 7041208160<1< [[VeU^41 51(060:0")1V [[- Q/bffc3/
 "rvvsBFFCHI	

0
0  [[c{C0D$<2IJ99 [[\D%=91 :1,0(<<.K(0 [[76EF6GH6KL7JK		
77  [[J**Iz+BCc3ZP3310 [[Ve9:;w ",/!,/!,/!,/	 8	
$0%$061>	91@1*
4r   r-   c                   d   \ rS rSr\R
                  S 5       r\R                  R                  S/ SQ5      S 5       r	\R                  R                  SSS/5      S 5       r
\R                  R                  S	/ S
Q5      S 5       r\R                  R                  SSS/5      S 5       rS rS rSrg)TestExpandingi  c                 j    [        S/S-  S/S-  -   S/S-  -   [        R                  " S5      S.5      $ r"   r(   )r7   s    r   frameTestExpanding.frame  s6    sRx1#(2aS1W<299R=QRRr   rX   rY   c                   ^ UR                  SSS9nUR                  5       n[        UT5      " 5       nUR                  U4S j5      n[        R
                  " US   [        S5      /5      nXvl        [        R                  " XV5        g )Nr   Frc   c                 B   > [        U R                  5       T5      " 5       $ r   rk   r  rl   s    r   rD   .TestExpanding.test_expanding.<locals>.<lambda>*  s    WQ[[]A%>%@r   r&   
r6   r  rk   rF   r   ro   rp   rq   rG   rr   r7   rX   r1  rI   rU   rL   rK   rt   s    `      r   test_expandingTestExpanding.test_expanding  sn      MM#%M0KKMA77@A#//sU2Y0GH'
f/r   rw   rx   c                   ^ UR                  SSS9nUR                  5       n[        UT5      " SS9nUR                  U4S j5      n[        R
                  " US   [        S5      /5      nXvl        [        R                  " XV5        g )Nr   Frc   r   rz   c                 @   > [        U R                  5       T5      " SS9$ )Nr   rz   r5  rl   s    r   rD   3TestExpanding.test_expanding_ddof.<locals>.<lambda>6  s    WQ[[]A%>A%Fr   r&   r7  r8  s    `      r   test_expanding_ddof!TestExpanding.test_expanding_ddof0  so    MM#%M0KKMAA&77FG#//sU2Y0GH'
f/r   r   r   c                   ^ UR                  SSS9nUR                  5       nUR                  STS9nUR                  U4S j5      n[        R
                  " US   [        S5      /5      nXvl        [        R                  " XV5        g )Nr   Frc   r   r   c                 @   > U R                  5       R                  STS9$ )Nr   r   )r  r   r   s    r   rD   7TestExpanding.test_expanding_quantile.<locals>.<lambda>E  s    akkm,,S,Nr   r&   )
r6   r  r   rF   r   ro   rp   rq   rG   rr   )r7   r   r1  rI   rU   rL   rK   rt   s    `      r   test_expanding_quantile%TestExpanding.test_expanding_quantile<  sw     MM#%M0KKMC}=77N
 $//sU2Y0GH'
f/r   r   r   c                   ^^ TR                  S5      nUR                  5       n[        UT5      " T5      nUU4S jnUR                  U5      n[	        [        SS5      5      [	        [        SS5      5      -   n[        R                  UR                  US4'   [        R                  US'   [        R                  " XW5        [        UR                  T5      " SS	9nU4S
 jn	UR                  U	5      n[        R                  " XW5        g )Nr   c                 D   > [        U R                  5       T5      " T5      $ r   r5  )rC   rX   r1  s    r   func_05TestExpanding.test_expanding_corr_cov.<locals>.func_0S  s    1;;=!,U33r   r#   =   H   q   r   Tr   c                 T   > [        U R                  R                  5       T5      " SS9$ )NTr   )rk   r   r  rl   s    r   func_15TestExpanding.test_expanding_corr_cov.<locals>.func_1b  s    133==?A.==r   )r6   r  rk   rF   r   rp   r)   r   ilocrG   rr   r   rH   )
r7   rX   r1  rI   rU   rL   rG  rK   null_idxrM  s
    ``       r   test_expanding_corr_cov%TestExpanding.test_expanding_corr_covL  s    MM#KKMAu%	4 776? b"&eBn)==%'VVhk" 
f/a$/	> 776?
v0r   c                   ^ UR                  SSS9nUR                  5       nUR                  S TS9nUR                  U4S j5      n[        R                  " US   [        S5      /5      nXvl        [        R                  " XV5        g )Nr   Frc   c                 "    U R                  5       $ r   r   rB   s    r   rD   4TestExpanding.test_expanding_apply.<locals>.<lambda>m  r   r   r   c                 B   > U R                  5       R                  S TS9$ )Nc                 "    U R                  5       $ r   r   r   s    r   rD   FTestExpanding.test_expanding_apply.<locals>.<lambda>.<locals>.<lambda>n  s
    1557r   r   )r  rF   r   s    r   rD   rU  n  s    Q[[]%8%89JPS%8%Tr   r&   )	r6   r  rF   r   ro   rp   rq   rG   rr   )r7   r   r1  rI   rU   rL   rK   rt   s    `      r   test_expanding_apply"TestExpanding.test_expanding_applyh  st    MM#%M0KKM *477TU#//sU2Y0GH'
f/r   c           	      6   [        / SQ/ SQ/ SQS.5      nUR                  S5      R                  S5      R                  [	        S[
        S9[	        S	[        S9S
9n[        / SQ/ SQS
.[        SS// SQ// SQ/ SQ/SS /S9S9n[        R                  " X#5        g )NrP  rS  rW  rY  rZ  r   r\  r]  r[  r`  )rX  rc  g;@r  rd  g     n@)rT  rT  rT  r  r  r  rQ  rR  re  rf  rg  r   r   )
r   r6   r  rh  r   rZ   r[   r   rG   rr   r$  s       r   #test_groupby_expanding_agg_namedagg1TestExpanding.test_groupby_expanding_agg_namedaggt  s    B:<
 JJvYq\S%XsC#8SA   	  D< !34#%78tn

 	f/r   r   N)r5  r6  r7  r8  r3   fixturer1  r,  r-  r9  r>  rC  rQ  rY  r\  r9  r   r   r   r/  r/    s    ^^S S [[	
	0	0 [[S5%.1	0 2	0 [[M00 [[S65/21 316
00r   r/  c            
       F   \ rS rSr\R
                  R                  SS/ SQ/S\R                  SSS//S	\R                  S
SS///5      S 5       r	S r
\R
                  R                  SS\R                  SSS//S\R                  S
SS///5      S 5       rS rS rS rSrg)TestEWMi  zmethod, expected_datarA   r   gUUUUUU?gm۶m?g""""""@rw   绹۞?禀?t ?rx   r   n۶m۶?++?c                    [        S/S-  [        S5      S.5      n[        UR                  S5      R	                  SS9U5      " 5       n[        SU0[
        R                  " / SQSS /S	9S
9n[        R                  " XE5        g )Nr   re   r'   r   r   comr   r   r   r   r   r   r   )	r   rp   rk   r6   ewmr   r   rG   rr   r7   methodr   r   rL   rK   s         r   test_methodsTestEWM.test_methods  s     cUQYU1X67C,,,5v>@- (( Dk
 	f/r   c           	         [        S/S-  [        S5      S.5      nUR                  S5      R                  SS9R	                  [        SSS	9[        SS
S	9[        SSS	9S9n[        / SQ[        R                  SSS/[        R                  SSS/S.[        R                  " / SQSS /S9S9n[        R                  " X#5        g )Nr   re   r'   r   r   rh  r   rA   r]  rw   rx   )B_meanB_stdB_varra  rb  rc  rd  r   re  rf  rj  r   r   )r   rp   r6   rk  rh  r   r)   r   r   r   rG   rr   r$  s       r   test_groupby_ewm_agg_namedagg%TestEWM.test_groupby_ewm_agg_namedagg  s    cUQYU1X67JJsOSSS\SsF;c59c59   	  &&(Hh?&&#'9;MN	 (( Dk
* 	f/r   r   r   r   r   grڶ?g߿yq+?c                   ^ [        S/S-  [        S5      S.5      n[        UR                  S5      R	                  SS9T5      " 5       n[        SU0[
        R                  " / SQ/ S	QS
9S9n[        R                  " XE5        UR                  S5      S/   R                  U4S j5      n[        R                  " XE5        g )Nr   re   r'   r   r   rh  r   ))r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   NNr   r   c                 @   > [        U R                  SS9T5      " 5       $ )Nr   rh  )rk   rk  )rC   rm  s    r   rD   /TestEWM.test_pairwise_methods.<locals>.<lambda>  s    gaeeenf57r   )
r   rp   rk   r6   rk  r   r   rG   rr   rF   rl  s    `    r   test_pairwise_methodsTestEWM.test_pairwise_methods  s     cUQYU1X67C,,,5v>@- (( (
 	f/::c?C5)//7
 	f/r   c                     SnUR                  S5      nUR                  S5      R                  X#S9R                  5       n[	        S/ SQ0[
        R                  " / SQSS /S9S	9n[        R                  " XE5        g )
N23 daysr   r   halflifetimesr   )
r   gCus=?g;pGR?gZkB?r   g>(?g8Kr?r   gҧU?gA9w?)
r   r   )r   r   )r   r   )r   r   r  r   )r   r   )r   r   )r   r%   r   r   )	popr6   rk  rA   r   r   r   rG   rr   )r7   r    r~  r  rL   rK   s         r   
test_timesTestEWM.test_times  s    $$$S)--x-MRRT  (( Dk
> 	f/r   c                     SnUR                  S5      nUR                  S5      nUR                  X#S9R                  5       nUR                  X#R                  S9R                  5       n[
        R                  " XV5        g )Nr|  r   r   r}  )r  r6   rk  rA   valuesrG   rr   )r7   r    r~  r  r  rL   rK   s          r   test_times_arrayTestEWM.test_times_array  si    $  %7<<>668<<6@EEG
f/r   c                 ^   [        / SQ[        SSSS9[        S5      S.5      nUR                  S5      R	                  SS	S
9nUR                  5       n[        [        SSSS9S/S-  S.[        R                  " / SQ[        [        S5      5      /SS /S9S9n[        R                  " X45        US   R                  5       n[        S/S-  [        R                  " / SQ[        SSSS9/SS	/S9SS9n[        R                  " X55        UR                  5       n[        R                  " X45        g )N)r   r   r   r   r   z2021-9-1r   h)r  r  )r   	timestampr   r   1hr  r  r   )r  r   r   r   r   r   )r   r   rp   r6   r@   rS   r   ro   r   rG   rr   r	   rH   )r7   r   grprL   expected_dfexpected_seriess         r   "test_dont_mutate_obj_after_slicing*TestEWM.test_dont_mutate_obj_after_slicing  s)   /'
ACH1X
 jj&&t&<'
ACHUQY ((*DqN;D$<
 	f2S! EAI((-z13? [) 

 	v7
f2r   r   N)r5  r6  r7  r8  r3   r,  r-  r)   r   rn  rt  ry  r  r  r  r9  r   r   r   r`  r`    s    [[VWRVVXx:;RVVS"46HIJ	
00$!0F [[
2663Q'	(52663(2S*TU0	0.%0N0%3r   r`  c                  |   [        / SQ/ SQS.5      n U R                  S/5      nUR                  S5      R                  U S9n[        R
                  " / SQSS /S9n[        [        R                  [        R                  [        R                  /[        R                  S	S	/S.US
9n[        R                  " X$5        g )N)r   r  r  re   r   r   r   r   r   r   ))r  r   )r  r   )r  r   r   r   r   
r   r6   r@   r   r   r   r)   r   rG   rr   r   r  rL   rq   rK   s        r   .test_rolling_corr_with_single_integer_in_indexr  D  s    	+)<	=B	SE	BZZ]b)F""#DSRVKXEvvrvvrvv&bffc3-?@H &+r   c                  |   [        / SQ/ SQS.5      n U R                  S/5      nUR                  S5      R                  U S9n[        R
                  " / SQSS /S9n[        [        R                  [        R                  [        R                  /[        R                  S	S	/S.US
9n[        R                  " X$5        g )N)r   r   r   r  r   r   r   r  ))r   r   )r   r   )r   r   r   r   r   r  r  s        r   &test_rolling_corr_with_tuples_in_indexr  P  s    	 	

B& 
SE	BZZ]b)F""/T{E vvrvvrvv&bffc3-?@H &+r   )numpyr)   r3   pandas.errorsr   pandasr   r   r   r   r   r	   r
   r   r   pandas._testing_testingrG   pandas.api.indexersr   pandas.core.groupby.groupbyr   r^  r    r+   r-   r/  r`  r  r  r   r   r   <module>r     s      (
 
 
  + 3  0 O OZ4 Z4z0 0Dn3 n3b	,,r   