Ë
    ýÿæic¸  ã                   ó   — d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZ ej,                  d„ «       Zej,                  d„ «       Z G d„ d	«      Z G d
„ d«      Z G d„ d«      Zd„ Zd„ Zy)é    N)ÚPandas4Warning)	Ú	DataFrameÚDatetimeIndexÚIndexÚ
MultiIndexÚNamedAggÚSeriesÚ	TimestampÚ
date_rangeÚto_datetime)ÚBaseIndexer)Úget_groupbyc                  ó>   — t        g d¢g d¢t        g d¢«      dœ«      S )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   © ó    úu/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/tests/window/test_groupby.pyÚtimes_framer       s)   € ô âCÚ/Üòóñ	
óð r   c                  óh   — t        dgdz  dgdz  z   dgdz  z   t        j                  d«      dœ«      S ©	Nr   é   r   é   r   é   é(   ©r   r   ©r   ÚnpÚaranger   r   r   Ú
roll_framer+   /   s6   € ä˜A˜3 ™8 q c¨B¡hÑ.°!°°q±Ñ8¼r¿y¹yÈ»}ÑMÓNÐNr   c                   ó˜  — e Zd Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Z	ej                  j                  dddg«      d	„ «       Z
ej                  j                  d
g d¢«      d„ «       Zej                  j                  dddgddgg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  ddddgddggfdddgddggfg«      d„ «       Zd„ Zd„ Zej                  j                  dddgddgg«      d„ «       Zd „ Zd!„ Zej                  j                  d"g d#¢«      d$„ «       Zd%„ Zd&„ Zd'„ Zd(„ Zd)„ Zej                  j                  d*d+d,g«      d-„ «       Zd.„ Zd/„ Zd0„ Zd1„ Zej                  j                  d2d3d4dd5œe jB                  de jB                  ddgfd6i e jB                  de jB                  dd7gfg«      d8„ «       Z"ej                  j                  d9d:d;id;fd:d<id=fg«      d>„ «       Z#ej                  j                  d?ddg«      d@„ «       Z$dA„ Z%dB„ Z&dC„ Z'dD„ Z(dE„ Z)ej                  j                  dFd4dGdHg dI¢fd4d4dHg dJ¢fdKdKdHg dL¢fdKdKdMg dN¢fg«      dO„ «       Z*ej                  j                  dP e+jX                  dQdRg«      dSdTgg«      dU„ «       Z-dV„ Z.ej                  j                  dWdXgdYg dZ¢igdXd=g e/d[«       e/d\«       e/d[«       e/d\«      gg d]¢d^œgg«      d_„ «       Z0d`„ Z1da„ Z2db„ Z3dc„ Z4dd„ Z5y<)eÚTestRollingc                 óŽ   — d}t        j                  t        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nz4groupby\(\) got an unexpected keyword argument 'foo'©Úmatchr   r   )Úfoo)ÚpytestÚraisesÚ	TypeErrorÚgroupby)Úselfr+   Úmsgs      r   Ú!test_groupby_unsupported_argumentz-TestRolling.test_groupby_unsupported_argument5   s4   € ØEˆÜ�]‰]œ9¨CÖ0Ø×Ñ˜s¨ÐÔ*÷ 1×0Ñ0ús	   ž;»Ac                 ó¢  — |j                  d«      }t        |d¬«      }|j                  j                  d„ «      }|j	                  d«      j                  «       j                  }t        j                  ||«       |j	                  d«      j                  j                  «       }t        j                  ||«       |j                  j	                  d«      j                  «       }t        j                  ||«       |j                  j                  |j                  «      j	                  d«      j                  «       }t        j                  ||«       y )Nr   ©Úbyc                 ó@   — | j                  d«      j                  «       S )Nr   ©ÚrollingÚmean©Úxs    r   Ú<lambda>z*TestRolling.test_getitem.<locals>.<lambda>>   s   € ¨q¯y©y¸«|×/@Ñ/@Ô/Br   r   )	r5   r   r   Úapplyr>   r?   ÚtmÚassert_series_equalr   )r6   r+   ÚgÚ	g_mutatedÚexpectedÚresults         r   Útest_getitemzTestRolling.test_getitem:   sï   € Ø×Ñ˜sÓ#ˆÜ 
¨sÔ3ˆ	à—;‘;×$Ñ$Ñ%BÓCˆà—‘˜1“×"Ñ"Ó$×&Ñ&ˆÜ
×Ñ˜v xÔ0à—‘˜1“—‘×$Ñ$Ó&ˆÜ
×Ñ˜v xÔ0à—‘—‘˜Q“×$Ñ$Ó&ˆÜ
×Ñ˜v xÔ0à—‘×%Ñ% j§l¡lÓ3×;Ñ;¸AÓ>×CÑCÓEˆÜ
×Ñ˜v xÕ0r   c                 ó^  — |j                  d«      }|j                  dd¬«      }t        |d¬«      }|j                  j	                  d„ «      }|j                  j                  «       }t        j                  ||«       |j                  j                  «       }t        j                  ||«       y )Nr   r   r   ©Úmin_periodsr:   c                 óD   — | j                  dd¬«      j                  «       S )Nr   r   rL   )r>   Úcountr@   s    r   rB   z3TestRolling.test_getitem_multiple.<locals>.<lambda>Q   s   € ¨q¯y©y¸È¨yÓ/J×/PÑ/PÔ/Rr   )r5   r>   r   r   rC   rO   rD   rE   )r6   r+   rF   ÚrrG   rH   rI   s          r   Útest_getitem_multiplez!TestRolling.test_getitem_multipleL   sƒ   € à×Ñ˜sÓ#ˆØ�I‰I�a QˆIÓ'ˆÜ 
¨sÔ3ˆ	Ø—;‘;×$Ñ$Ñ%RÓSˆà—‘—‘“ˆÜ
×Ñ˜v xÔ0à—‘—‘“ˆÜ
×Ñ˜v xÕ0r   Úf©
Úsumr?   ÚminÚmaxÚfirstÚlastrO   ÚkurtÚskewÚnuniquec                 ó  ‡— |j                  dd¬«      }|j                  d¬«      } t        |‰«      «       }|j                  ˆfd„«      }t	        j
                  |d   t        d«      g«      }||_        t        j                  ||«       y )Nr   F©Ú
group_keysé   ©Úwindowc                 óD   •—  t        | j                  d«      ‰«      «       S ©Nr_   ©Úgetattrr>   ©rA   rR   s    €r   rB   z*TestRolling.test_rolling.<locals>.<lambda>m   s   ø€ Ð%=¤W¨Q¯Y©Y°q«\¸1Ó%=Ô%?r   r&   ©
r5   r>   re   rC   r   Úfrom_arraysÚrangeÚindexrD   Úassert_frame_equal©r6   rR   r+   rF   rP   rI   rH   Úexpected_indexs    `      r   Útest_rollingzTestRolling.test_rollingY   s|   ø€ ð  ×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆà”˜˜A““ˆØ—7‘7Ó?Ó@ˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/r   ÚstdÚvarc                 ó  ‡— |j                  dd¬«      }|j                  d¬«      } t        |‰«      d¬«      }|j                  ˆfd„«      }t	        j
                  |d   t        d	«      g«      }||_        t        j                  ||«       y )
Nr   Fr]   r_   r`   r   ©Úddofc                 óH   •—  t        | j                  d«      ‰«      d¬«      S )Nr_   r   rr   rd   rf   s    €r   rB   z/TestRolling.test_rolling_ddof.<locals>.<lambda>y   s   ø€ Ð%=¤W¨Q¯Y©Y°q«\¸1Ó%=À1Õ%Er   r&   rg   rl   s    `      r   Útest_rolling_ddofzTestRolling.test_rolling_ddofs   s}   ø€ à×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆà”˜˜A“ AÔ&ˆØ—7‘7ÓEÓFˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/r   Úinterpolation©ÚlinearÚlowerÚhigherÚmidpointÚnearestc                 ó  ‡— |j                  dd¬«      }|j                  d¬«      }|j                  d‰¬«      }|j                  ˆfd„«      }t	        j
                  |d   t        d	«      g«      }||_        t        j                  ||«       y )
Nr   Fr]   r_   r`   çš™™™™™Ù?©rv   c                 óH   •— | j                  d«      j                  d‰¬«      S )Nr_   r~   r   )r>   Úquantile©rA   rv   s    €r   rB   z3TestRolling.test_rolling_quantile.<locals>.<lambda>ˆ   s   ø€ �a—i‘i “l×+Ñ+¨C¸}Ð+ÔMr   r&   )
r5   r>   r�   rC   r   rh   ri   rj   rD   rk   )r6   rv   r+   rF   rP   rI   rH   rm   s    `      r   Útest_rolling_quantilez!TestRolling.test_rolling_quantile   sƒ   ø€ ð ×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆà—‘˜C¨}�Ó=ˆØ—7‘7ÛMó
ˆô $×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/r   zf, expected_valÚcorrr   Úcovç      à?c                 ó4  — t        t        d«      dgdz  dgdz  z   g d¢dz  dœ«      j                  ddg«      }t        t        d«      g d¢d	œ«      j                  d«      } t        |j	                  d
¬«      j                  d«      |«      |«      }t        j                  g|gdz  z   dz  }t        |dgt        j                  dgdz  dgdz  z   dgdz  dgdz  z   t        t        dd«      «      dz  gg d¢¬«      ¬«      }t        j                  ||«       y )Né
   r   é   r   )r   r   r   r_   r‰   )ÚvalueÚidx1Úidx2r‹   rŒ   )rŠ   rŒ   r   ©Úlevelr_   rŠ   é   )r‹   r‹   rŒ   ©Únames©Úcolumnsrj   )r   ri   Ú	set_indexre   r5   r>   r)   Únanr   rh   ÚlistrD   rk   )r6   rR   Úexpected_valÚdfÚotherrI   Úexpected_datarH   s           r   Ú/test_rolling_corr_cov_other_same_size_as_groupsz;TestRolling.test_rolling_corr_cov_other_same_size_as_groups�   s&  € ô Ü˜B“i¨!¨¨q©°A°3¸±7Ñ):ÂOÐVWÑDWÑXó
ç
‰)�V˜VÐ$Ó
%ð 	ô ¤E¨!£H²oÑFÓG×QÑQØó
ˆð <”˜Ÿ™¨!˜Ó,×4Ñ4°QÓ7¸Ó;¸EÓBˆÜŸ&™&˜ \ N°QÑ$6Ñ6¸!Ñ;ˆÜØØ�IÜ×(Ñ(à�C˜!‘G˜q˜c A™gÑ%Ø�C˜!‘G˜q˜c A™gÑ%Üœ˜q !›Ó%¨Ñ)ðò
 /ôô
ˆô 	×Ñ˜f hÕ/r   c                 óò   ‡‡— ‰j                  d«      }|j                  d¬«      } t        |‰«      ‰«      }ˆˆfd„}|j                  |«      }t        j
                  |d<   t        j                  ||«       y )Nr   r_   r`   c                 óF   •—  t        | j                  d«      ‰«      ‰«      S rc   rd   )rA   rR   r+   s    €€r   ÚfunczITestRolling.test_rolling_corr_cov_other_diff_size_as_groups.<locals>.func¯   s   ø€ Ø+”7˜1Ÿ9™9 Q›<¨Ó+¨JÓ7Ð7r   )r5   r>   re   rC   r)   r•   rD   rk   ©r6   rR   r+   rF   rP   rI   rž   rH   s    ``     r   Ú/test_rolling_corr_cov_other_diff_size_as_groupsz;TestRolling.test_rolling_corr_cov_other_diff_size_as_groups¨   sh   ù€ à×Ñ˜sÓ#ˆØ�I‰I˜QˆIÓˆà”˜˜A“˜zÓ*ˆõ	8ð —7‘7˜4“=ˆô Ÿ™ˆ�‰Ü
×Ñ˜f hÕ/r   c                 óÞ   ‡— |j                  d«      }|j                  d¬«      } t        |j                  ‰«      d¬«      }ˆfd„}|j	                  |«      }t        j                  ||«       y )Nr   r_   r`   T©Úpairwisec                 ó\   •—  t        | j                  j                  d«      ‰«      d¬«      S )Nr_   Tr¢   )re   r   r>   rf   s    €r   rž   z8TestRolling.test_rolling_corr_cov_pairwise.<locals>.func¿   s#   ø€ Ø-”7˜1Ÿ3™3Ÿ;™; q›>¨1Ó-°tÔ<Ð<r   )r5   r>   re   r   rC   rD   rE   rŸ   s    `      r   Útest_rolling_corr_cov_pairwisez*TestRolling.test_rolling_corr_cov_pairwise¸   s]   ø€ à×Ñ˜sÓ#ˆØ�I‰I˜QˆIÓˆà ”˜Ÿ™˜a“¨$Ô/ˆô	=ð —7‘7˜4“=ˆÜ
×Ñ˜v xÕ0r   zfunc, expected_valuesç      ð?ç      @c                 óÂ  — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  d«      } t        ||«      «       }t        dt        j
                  gz  |d   z   d	t        j
                  gz  z   dt        j
                  gz  |d
   z   d	t        j
                  gz  z   dœt        j                  g d¢g d¢¬«      ¬«      }t        j                  ||«       y )N)Úg1Úg2r©   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©   r   r   )r©   r   r   )r©   r   r   )rª   r   r   )rª   r   r   )r   NNr�   ©rj   )
r   r5   r>   re   r)   r•   r   Úfrom_tuplesrD   rk   )r6   rž   Úexpected_valuesr˜   ÚrolrI   rH   s          r   Útest_rolling_corr_cov_unorderedz+TestRolling.test_rolling_corr_cov_unorderedÅ   sÎ   € ô â-Ú!Ú!ñó
ˆð �j‰j˜‹o×%Ñ% aÓ(ˆØ#”˜˜dÓ#Ó%ˆÜàœ"Ÿ&™&˜‘\ O°AÑ$6Ñ6¸¼b¿f¹f¸X¹ÑEØœ"Ÿ&™&˜‘\ O°AÑ$6Ñ6¸¼b¿f¹f¸X¹ÑEñô ×(Ñ(ò	ò (ôô
ˆô& 	×Ñ˜f hÕ/r   c                 ó   ‡— |j                  dd¬«      }|j                  d¬«      }|j                  d„ ‰¬«      }|j                  ˆfd„«      }t        j                  |d   t        d	«      g«      }||_        t        j                  ||«       y )
Nr   Fr]   r_   r`   c                 ó"   — | j                  «       S ©N©rT   r@   s    r   rB   z0TestRolling.test_rolling_apply.<locals>.<lambda>î   ó
   €  1§5¡5¤7r   ©Úrawc                 óJ   •— | j                  d«      j                  d„ ‰¬«      S )Nr_   c                 ó"   — | j                  «       S r³   r´   ©Úys    r   rB   zBTestRolling.test_rolling_apply.<locals>.<lambda>.<locals>.<lambda>ï   s
   € À!Ç%Á%Ä'r   r¶   )r>   rC   ©rA   r·   s    €r   rB   z0TestRolling.test_rolling_apply.<locals>.<lambda>ï   s   ø€  Q§Y¡Y¨q£\×%7Ñ%7Ñ8IÈsÐ%7Ô%Sr   r&   )	r5   r>   rC   r   rh   ri   rj   rD   rk   )r6   r·   r+   rF   rP   rI   rH   rm   s    `      r   Útest_rolling_applyzTestRolling.test_rolling_applyé   s€   ø€ Ø×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆð —‘Ñ*°�Ó4ˆØ—7‘7ÓSÓTˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/r   c                 óÞ  — t        dgdz  dgdz  z   dgdz  dœ«      }|j                  d«      }t        j                  g d¢«      }dd g|_        t        t
        j                  d	d	gd
z  dg|¬«      }|j                  d
¬«      j                  «       }t        j                  ||«       |j                  «        |j                  d
¬«      j                  «       }t        j                  ||«       y )Nr1   r   Úbarr   r�   r'   r   ))r¿   r   )r¿   r_   )r¿   r‰   )r1   r   )r1   r   )r1   r   ç       @r   r   r’   r`   )r   r5   r   r­   r‘   r)   r•   r>   rT   rD   rk   )r6   r˜   rF   ÚmirH   rI   s         r   Útest_rolling_apply_mutabilityz)TestRolling.test_rolling_apply_mutabilityõ   sÔ   € ä˜e˜W q™[¨E¨7°Q©;Ñ6¸a¸SÀ1¹WÑEÓFˆØ�J‰J�s‹Oˆä×#Ñ#ÚTó
ˆð ˜�;ˆŒäœbŸf™f c¨3Ð/°!Ñ3¸c¸UÈ"ÔMˆà—‘ !�Ó$×(Ñ(Ó*ˆÜ
×Ñ˜f hÔ/ð 	
�‰Œð —‘ !�Ó$×(Ñ(Ó*ˆÜ
×Ñ˜f hÕ/r   zexpected_value,raw_valueTç        Fc                 ó"  — d„ }t        g d¢g d¢dœ«      }|j                  d«      j                  j                  d«      j	                  ||¬«      }t        |gdz  t        j                  d	dd g¬
«      d¬«      }t        j                  ||«       y )Nc                 óH   — t        t        | t        j                  «      «      S r³   )ÚintÚ
isinstancer)   Úndarrayr@   s    r   Úisnumpyarrayz6TestRolling.test_groupby_rolling.<locals>.isnumpyarray  s   € Ü”z !¤R§Z¡ZÓ0Ó1Ð1r   ©r   r   r   ©r   r   r   )ÚidrŠ   rÌ   r   r¶   r   )©r   r   ©r   r   ©r   r   r�   rŠ   ©rj   Úname)
r   r5   rŠ   r>   rC   r	   r   r­   rD   rE   )r6   Úexpected_valueÚ	raw_valuerÉ   r˜   rI   rH   s          r   Útest_groupby_rollingz TestRolling.test_groupby_rolling  s‡   € ò	2ô ši²)Ñ<Ó=ˆØ—‘˜DÓ!×'Ñ'×/Ñ/°Ó2×8Ñ8¸È9Ð8ÓUˆÜØÐ˜qÑ Ü×(Ñ(Ð)AÈ$ÐPTÈÔVØô
ˆô
 	×Ñ˜v xÕ0r   c                 óz  — t        t        dd«      «      }|j                  |«      j                  dd¬«      j	                  «       }t        t
        j                  gdz  t        j                  d«      ¬«      }t        j                  ||«       t        t        dd«      «      }|j                  |«      j                  dd¬«      j	                  «       }t        t
        j                  gd	z  t        j                  d
«      ¬«      }t        j                  ||«       t        dgdz  dgdz  z   t        d«      dœ«      }|j                  d«      j                  dd¬«      j	                  «       }t        t
        j                  dddt
        j                  t
        j                  ddddt
        j                  gt        j                  ddd g¬«      dg¬«      }t        j                  ||«       t        dgdz  dgdz  z   t        d«      dœ«      }|j                  d«      j                  dd¬«      j	                  «       }t        t
        j                  dddt
        j                  t
        j                  dddt
        j                  g
t        j                  ddd g¬«      dg¬«      }t        j                  ||«       y )Nr   r�   Tr   )Úcenterra   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   ©r   r_   ©r   r‰   ©r   r�   ©r   rÜ   ©r   r%   ©r   rÝ   )r   rˆ   r�   )rj   r“   rˆ   )
rÞ   rß   rà   rá   râ   rã   rä   rå   ræ   rç   )r	   ri   r5   r>   r?   r)   r•   r   r­   rD   rE   r   rk   )r6   ÚseriesrI   rH   r˜   s        r   Ú"test_groupby_rolling_center_centerz.TestRolling.test_groupby_rolling_center_center  sD  € äœ˜a ›Ó$ˆØ—‘ Ó'×/Ñ/°tÀAÐ/ÓF×KÑKÓMˆÜÜ�V‰VˆH�q‰LÜ×(Ñ(Ð)QÓRô
ˆô 	×Ñ˜v xÔ0äœ˜a ›Ó$ˆØ—‘ Ó'×/Ñ/°tÀAÐ/ÓF×KÑKÓMˆÜÜ�V‰VˆH�q‰LÜ×(Ñ(Ð)IÓJô
ˆô 	×Ñ˜v xÔ0ä˜c˜U Q™Y¨#¨°©Ñ2¼¸r»ÑCÓDˆØ—‘˜C“×(Ñ(°¸QÐ(Ó?×DÑDÓFˆÜÜ�V‰V�Q˜˜1œbŸf™f¤b§f¡f¨a°°A°q¼"¿&¹&ÐAÜ×(Ñ(ðð ˜D�kôð  �Eô%
ˆô( 	×Ñ˜f hÔ/ä˜c˜U Q™Y¨#¨°©Ñ2¼¸r»ÑCÓDˆØ—‘˜C“×(Ñ(°¸QÐ(Ó?×DÑDÓFˆÜÜ�V‰V�Q˜˜1œbŸf™f¤b§f¡f¨a°°A´r·v±vÐ>Ü×(Ñ(ðð ˜D�kôð �Eô#
ˆô& 	×Ñ˜f hÕ/r   c                 óf  — t        t        dd«      dgdz  dgdz  z   t        d«      dœ¬	«      }|j                  d
«      j	                  dddd¬«      j
                  j                  «       }t        j                  |d
   |d   gd
dg¬«      }t        g d¢d|¬«      }t        j                  ||«       y )Nr   r   Úgroup_1r�   Úgroup_2r_   rˆ   )ÚDateÚgbrŠ   )Údatarî   rí   Tr   )ÚonrÖ   rM   r�   )
r¦   ç      ø?rÀ   g      @ç      @g      @ç      @ç      @rô   rô   rŠ   ©rÑ   rj   )r   r   ri   r5   r>   rŠ   r?   r   rh   r	   rD   rE   )r6   r˜   rI   rÁ   rH   s        r   Útest_groupby_rolling_center_onz*TestRolling.test_groupby_rolling_center_on]  s°   € ää" <°Ó>Ø �k A‘o¨¨°a©Ñ7Ü˜r›ñô
ˆð �J‰J�tÓß‰W�Q˜6¨$¸AˆWÓ>ß‰U—4‘4“6ð 	ô
 ×#Ñ# R¨¡X¨r°&©zÐ$:À4ÈÀ.ÔQˆÜÚ>ØØô
ˆô
 	×Ñ˜v xÕ0r   rM   )r‰   r_   r   c                 óð  — t        dgdz  dgdz  z   t        d«      dœ«      }d}|j                  d«      j                  |d|¬	«      j	                  «       }|j                  «       dd
g   }g d¢}|D �cg c]  }|dz   ‘Œ	 }}t        d|dz
  «      }t        j                  g|z  }	|	||d|z
   z   |	z   }
|	||d|z
   z   |	z   }t        dgdz  dgdz  z   |
|z   dœ«      }t        j                  ||«       y c c}w )Nr   rˆ   r   r#   )Úgrouprï   r‰   rø   T)rÖ   rM   rï   )
r¦   rñ   rÀ   rò   r§   ç      @ç      @ró   rô   ç       @ç      $@r   r   )r   ri   r5   r>   r?   Úreset_indexrV   r)   r•   rD   rk   )r6   rM   r˜   Úwindow_sizerI   Ú
grp_A_meanrA   Ú
grp_B_meanÚnum_nansÚnansÚgrp_A_expectedÚgrp_B_expectedrH   s                r   Ú'test_groupby_rolling_center_min_periodsz3TestRolling.test_groupby_rolling_center_min_periodss  s  € ô  # ¨¡¨s¨e°b©jÑ!8Ä%ÈÃ)ÑLÓMˆàˆà�J‰J�wÓß‰W�[¨¸;ˆWÓGß‰T‹Vð 	ð
 ×#Ñ#Ó% w°Ð&7Ñ8ˆâGˆ
Ù(2Ó3©
 1�a˜$“h¨
ˆ
Ð3ä�q˜+¨™/Ó*ˆÜ—‘ˆx˜(Ñ"ˆØ 
¨8°b¸8±mÐ DÑDÀtÑKˆØ 
¨8°b¸8±mÐ DÑDÀtÑKˆäØ�e˜b‘j C 5¨2¡:Ñ-°~ÈÑ7VÑWó
ˆô 	×Ñ˜f hÕ/ùò 4s   Á3C3c           	      óš  — t        g d¢g d¢g d¢dœ«      }|j                  d«      dg   j                  d«      j                  «       }t        t        j
                  t        j
                  dt        j
                  gdgt        j                  d	dd g¬
«      ¬«      }t        j                  ||«       |j                  d«      d   j                  d«      j                  «       }t        t        j
                  t        j
                  dt        j
                  gt        j                  d	dd g¬
«      d¬«      }t        j                  ||«       y )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   r5   r>   rV   r)   r•   r   r­   rD   rk   r	   rE   ©r6   r˜   rI   rH   s       r   Útest_groupby_subselect_rollingz*TestRolling.test_groupby_subselect_rollingŽ  s  € äÚÒ%9Ò@PÑQó
ˆð —‘˜C“ # Ñ'×/Ñ/°Ó2×6Ñ6Ó8ˆÜÜ�V‰V”R—V‘V˜S¤"§&¡&Ð)Ø�EÜ×(Ñ(Ø0¸¸d¸ôô
ˆô 	×Ñ˜f hÔ/à—‘˜C“ Ñ%×-Ñ-¨aÓ0×4Ñ4Ó6ˆÜÜ�V‰V”R—V‘V˜S¤"§&¡&Ð)Ü×(Ñ(Ø0¸¸d¸ôð ô
ˆô 	×Ñ˜v xÕ0r   c                 ó�  —  G d„ dt         «      }t        dg d¢dz  idgdz  dgdz  z   d	gdz  z   ¬
«      }|j                  |j                  «      j	                   |d¬«      d¬«      j                  «       }|j                  |j                  «      j	                  dd¬«      j                  «       }t        j                  ||«       y )Nc                   ó   — e Zd Z	 	 	 	 	 dd„Zy)úFTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexerNc                 ó¨   — |€| j                   nd}t        j                  |t        j                  ¬«      dz   }|| j                   z
  }|||dk  <   ||fS )Nr   ©Údtyper   )rþ   r)   r*   Úint64)r6   Ú
num_valuesrM   rÖ   ÚclosedÚstepÚendÚstarts           r   Úget_window_boundszXTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexer.get_window_boundsª  sW   € ð 3>Ð2E˜d×.Ò.È1�Ü—i‘i 
´"·(±(Ô;¸aÑ?�Ø˜d×.Ñ.Ñ.�Ø#.��e˜a‘iÑ Ø˜c�zÐ!r   )r   NNNN)Ú__name__Ú
__module__Ú__qualname__r  r   r   r   ÚSimpleIndexerr  ©  s   „ ð Ø ØØØô"r   r  r   )r¦   rÀ   rò   r§   rù   r   r   r‰   r   r   r¬   )rþ   rL   ©ra   rM   )r   r   r5   rj   r>   rT   rD   rk   )r6   r  r˜   rI   rH   s        r   Ú#test_groupby_rolling_custom_indexerz/TestRolling.test_groupby_rolling_custom_indexer§  sµ   € ô	"œKô 	"ô ØÒ+¨aÑ/Ð0¸¸¸a¹À1À#ÈÁ'Ñ8IÈQÈCÐRSÉGÑ8Sô
ˆð �J‰J�r—x‘xÓ ß‰W‘]¨qÔ1¸qˆWÓAß‰S‹Uð 	ð
 —:‘:˜bŸh™hÓ'×/Ñ/°qÀaÐ/ÓH×LÑLÓNˆÜ
×Ñ˜f hÕ/r   c                 ó  — t        t        d«      t        d«      dgdz  dgdz  z   dD �cg c]  }t        |«      ‘Œ c}dz  dœ«      }|j                  d«      j	                  d	d
d¬«      d   j                  «       }t        t        j                  t        j                  ddt        j                  t        j                  ddgt        j                  |dd
g   dd
g¬«      d¬«      }t        j                  ||«       y c c}w )Nr%   r   r_   r   ©ú
2019-01-01r   ú
2019-01-02r!  r   ©Úcolumn1Úcolumn2rø   Údaterø   Ú1Dr%  Úleft©rð   r  r#  r¦   ç      "@r�   rÐ   ©r   ri   r
   r5   r>   rT   r	   r)   r•   r   Ú
from_framerD   rE   ©r6   r%  r˜   rI   rH   s        r   Ú'test_groupby_rolling_subset_with_closedz3TestRolling.test_groupby_rolling_subset_with_closedÃ  s  € ää  ›8Ü  ›8Ø˜ ™ c U¨Q¡YÑ.ñ !Yóá X˜ô ˜d•OØ Xñð ñ	ñ		ó
ˆð �J‰J�wÓ×'Ñ'¨°ÀÐ'ÓGÈ	ÑR×VÑVÓXð 	ô Ü�V‰V”R—V‘V˜S #¤r§v¡v¬r¯v©v°s¸CÐ@Ü×'Ñ'Ø�G˜VÐ$Ñ%Ø Ð'ôð ô
ˆô 	×Ñ˜v xÕ0ùò%s   ªC=c           	      óÔ  — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  d«      j                  t	        dt
        ¬«      t	        d	t        ¬«      ¬
«      }t        t        j                  ddt        j                  ddgt        j                  ddt        j                  ddgd
œt        ddgg d¢gg d¢g d¢gdd g¬«      ¬«      }t        j                  ||«       y )N©ÚcatÚdogr0  r1  r0  r1  ©ç333333"@rú   ç      #@g      A@ç      (@rû   ©çš™™™™™@rô   gÍÌÌÌÌÌ#@g     Àh@rü   g      E@©ÚkindÚheightÚweightr9  r   r;  ©ÚcolumnÚaggfuncr:  ©Útotal_weightÚ
min_heightçÍÌÌÌÌÌ1@gfffffæ3@ç     °i@g      n@r3  r4  rú   rû   r0  r1  ©r   r   r   r   r_   r‰   ©r   r   r   r   r   r   ©r   r   r_   r   r   r‰   r�   r¬   )r   r5   r>   Úaggr   rT   rU   r)   r•   r   rD   rk   r	  s       r   Ú!test_groupby_rolling_agg_namedaggz-TestRolling.test_groupby_rolling_agg_namedaggÞ  sÓ   € äâBÚ:Ú<ñó
ˆð �J‰J�vÓß‰W�Q‹Zß‰SÜ%¨X¼sÔCÜ#¨8¼SÔAð ó ð 	ô ä!#§¡¨¨t´R·V±V¸UÀEÐ JÜ!Ÿv™v s¨C´·±¸¸cÐBñô Ø˜�Ò!3Ð4Ú#Ò%7Ð8Ø˜t�nôô

ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        t        d«      t        d«      dgdz  dgdz  z   dD �cg c]  }t        |«      ‘Œ c}dz  dœ«      }|j                  d«      d	d
g   j	                  dd
d¬«      d	   j                  «       }t        t        j                  t        j                  ddt        j                  t        j                  ddgt        j                  |dd
g   dd
g¬«      d	¬«      }t        j                  ||«       y c c}w )Nr%   r   r_   r   r  r   r"  rø   r#  r%  r&  r'  r(  r¦   r)  r�   rÐ   r*  r,  s        r   Ú.test_groupby_subset_rolling_subset_with_closedz:TestRolling.test_groupby_subset_rolling_subset_with_closedü  s
  € ää  ›8Ü  ›8Ø˜ ™ c U¨Q¡YÑ.ñ !Yóá X˜ô ˜d•OØ Xñð ñ	ñ		ó
ˆð �J‰J�wÓ ¨FÐ 3Ñ4ß‰W�T˜f¨VˆWÓ4°Yñ@ç‰S‹Uð 	ô
 Ü�V‰V”R—V‘V˜S #¤r§v¡v¬r¯v©v°s¸CÐ@Ü×'Ñ'Ø�G˜VÐ$Ñ%Ø Ð'ôð ô
ˆô 	×Ñ˜v xÕ0ùò+s   ªDrž   rV   rU   c                 ól  — t        g d¢t        j                  g d¢ddg¬«      d¬«      } t        |j	                  |«      j                  d«      |«      «       }t        t        j                  t        j                  d	gt        j                  g d
¢g d¢¬«      d¬«      }t        j                  ||«       y )N)r   r   r   ))r   rA   )r   r»   )r   ÚzÚ1Ú2r�   r   rÐ   r   rÀ   ))r   r   rA   )r   r   r»   )r   r   rL  )r   rM  rN  )
r	   r   r­   re   r5   r>   r)   r•   rD   rE   )r6   rž   ÚdsrI   rH   s        r   Ú"test_groupby_rolling_index_changedz.TestRolling.test_groupby_rolling_index_changed  s™   € ô ÚÜ×(Ñ(Ú4¸SÀ#¸Jôð ô
ˆð :”˜Ÿ™ B›×/Ñ/°Ó2°DÓ9Ó;ˆÜÜ�V‰V”R—V‘V˜SÐ!Ü×(Ñ(Ú=Â_ôð ô
ˆô 	×Ñ˜v xÕ0r   c                 óŽ  — t        dg i«      }|j                  d«      j                  d¬«      j                  «       }|j	                  d¬«      }t        j                  t        g d¬«      t        g d¬«      gdd g¬«      |_        t        j                  ||«       t        g g d	œ«      }|j                  dd
g«      j                  d¬«      j                  «       }|j	                  dd
g¬«      }t        j                  t        g d¬«      t        g d¬«      t        g d¬«      gg d¢¬«      |_        t        j                  ||«       y )NÚs1r   r`   ©r“   Úfloat64r  r  r�   )rR  Ús2rU  )rR  rU  N)r   r5   r>   rT   Údropr   Úfrom_productr   rj   rD   rk   )r6   rH   rI   s      r   Ú test_groupby_rolling_empty_framez,TestRolling.test_groupby_rolling_empty_frame/  s$  € ä˜d B˜ZÓ(ˆØ×!Ñ! $Ó'×/Ñ/°qÐ/Ó9×=Ñ=Ó?ˆà—=‘=¨�=Ó.ˆô $×0Ñ0Ü�2˜YÔ'¬¨r¸Ô)AÐBÈ4ÐQUÈ,ô
ˆŒô 	×Ñ˜f hÔ/ä B¨bÑ1Ó2ˆØ×!Ñ! 4¨ ,Ó/×7Ñ7¸qÐ7ÓA×EÑEÓGˆà—=‘=¨$°¨�=Ó6ˆÜ#×0Ñ0ä�b 	Ô*Ü�b 	Ô*Ü�b Ô(ðò
 %ô
ˆŒô 	×Ñ˜f hÕ/r   c                 óˆ  — t        ddt        dddd«      gddt        dddd«      gdd	t        ddd
d«      gddt        dddd«      gdd	t        dddd«      ggg d¢¬«      j                  d«      }|j                  d«      }|j	                  «       |d<   |j                  dd¬«      }|j                  d„ «      }t        ddt        dddd«      dgddt        dddd«      dgddt        dddd«      dgdd	t        ddd
d«      dgdd	t        dddd«      dggg d¢¬«      j                  ddg«      }t        j                  ||«       y )Nr   rë   éã  r   rÝ   r   r   ÚZrì   r   ÚHr�   ÚEr#   )rj   rø   Ú	eventTimerS  rj   rø   Úcount_to_dateÚ10Dr^  ©rð   c                 ó    — | j                   d   S )Nr   )Úshape)r˜   s    r   rB   z?TestRolling.test_groupby_rolling_string_index.<locals>.<lambda>Z  s   € °·±¸!²r   r¦   rÀ   rò   )rj   rø   r^  r_  )	r   r
   r”   r5   Úcumcountr>   rC   rD   rk   )r6   r˜   ÚgroupsÚrolling_groupsrI   rH   s         r   Ú!test_groupby_rolling_string_indexz-TestRolling.test_groupby_rolling_string_indexJ  s€  € äà�i¤¨4°°A°qÓ!9Ð:Ø�i¤¨4°°A°qÓ!9Ð:Ø�i¤¨4°°A°qÓ!9Ð:Ø�i¤¨4°°A°qÓ!9Ð:Ø�i¤¨4°°B¸Ó!:Ð;ðò 4ô	
÷ ‰)�GÓ
ð 	ð —‘˜GÓ$ˆØ$Ÿo™oÓ/ˆˆ?ÑØŸ™¨°+˜Ó>ˆØ×%Ñ%Ñ&<Ó=ˆÜà�i¤¨4°°A°qÓ!9¸3Ð?Ø�i¤¨4°°A°qÓ!9¸3Ð?Ø�i¤¨4°°A°qÓ!9¸3Ð?Ø�i¤¨4°°A°qÓ!9¸3Ð?Ø�i¤¨4°°B¸Ó!:¸CÐ@ðò Eô	
÷ ‰)�W˜gÐ&Ó
'ð 	ô 	×Ñ˜f hÕ/r   c           	      óX  — t        ddgddgdœ«      j                  dd¬«      j                  d«      j                  «       }t        t	        j
                  ddgddgg«      dd	gt        j                  d
dgdd g¬«      ¬«      }|j                  d¬«      }t        j                  ||«       y )Nr   r   )r1   r¿   r1   F)ÚsortrÀ   r¦   r¿   )r   r   rÎ   r�   r’   rS  )r   r5   r>   rU   r)   Úarrayr   r­   rV  rD   rk   )r6   rI   rH   s      r   Útest_groupby_rolling_no_sortz(TestRolling.test_groupby_rolling_no_sortg  s£   € ô ˜q !˜f¨a°¨VÑ4Ó5ß‰W�U ˆWÓ'ß‰W�Q‹Zß‰S‹Uð	 	ô Ü�H‰H�s˜C�j 3¨ *Ð-Ó.Ø˜E�NÜ×(Ñ(¨&°&Ð)9À%ÈÀÔOô
ˆð —=‘=¨�=Ó/ˆÜ
×Ñ˜f hÕ/r   c           
      ó"  — t        t        d«      t        d«      dddgz  t        dd|¬«      dœ«      }d}t        j                  t
        |¬	«      5  |j                  d
«      j                  ddd¬«      d   j                  «       }d d d «       t        g d¢d|› d�¬«      }t        j                  g d¢|gd
dg¬«      }t        t        j                  ddt        j                  ddgd|¬«      }t        j                  |«       y # 1 sw Y   Œ€xY w)Nr�   r   r   r   Ú20190101)r  ÚperiodsÚunitr"  z:'d' is deprecated and will be removed in a future version.r/   rø   Ú3dr%  r'  r(  r#  )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   ri   r   rD   Úassert_produces_warningr   r5   r>   rO   r   r   rh   r	   r)   r•   rE   )r6   ro  r˜   r7   rI   ÚdtirÁ   rH   s           r   Ú$test_groupby_rolling_count_closed_onz0TestRolling.test_groupby_rolling_count_closed_onx  s  € ää  ›8Ü  ›8Ø˜c 3˜Z™Ü" z¸1À4ÔHñ	ó
ˆð Kˆä×'Ñ'¬¸cÖBà—
‘
˜7Ó#ß‘˜ &°�Ó8¸ñDç‘“ð ÷ Cô òð ˜�v˜Q�-ô

ˆô ×#Ñ#â.Øðð ˜FÐ#ô
ˆô Ü�V‰V�S˜#œrŸv™v s¨CÐ0ØØô
ˆô
 	×Ñ˜v xÕ0÷; CÐBús   Á5DÄD)rž   Úkwargsr®   r>   r   r  Ú	expandingg3�E§yâ?c                 ód  — t        ddgddgddgddgddggddg¬«      } t        |j                  d«      |«      di |¤Žj                  «       }t        t        j
                  gdz  |dœt        j                  g d	¢dd g¬
«      ¬«      }|j                  d¬«      }t        j                  ||«       y )Nr   r   r   r   r   rS  r‰   rÛ   )rÞ   rß   )r   r   )r   r   ©r   r_   r�   r¬   r   )r   re   r5   Úsemr)   r•   r   r­   rV  rD   rk   )r6   rž   rv  r®   r˜   rI   rH   s          r   Útest_groupby_rolling_semz$TestRolling.test_groupby_rolling_sem£  sµ   € ô Ø�1ˆX˜˜Q�x # q ¨C°¨8°c¸1°XÐ>ÈÈcÈ
ô
ˆð 0”˜Ÿ™ C›¨$Ó/Ñ9°&Ñ9×=Ñ=Ó?ˆÜÜ—6‘6�(˜Q‘, _Ñ5Ü×(Ñ(ÚBÈ3ÐPTÈ+ôô
ˆð —=‘=¨�=Ó-ˆÜ
×Ñ˜f hÕ/r   )ÚrollingsÚkeyrð   r   Nrj   c                 ó2  — t        t        ddt        j                  g«      g d¢g d¢dœ«      }|dk(  r|j	                  d«      }t        j                  t        |› d�¬	«      5   |j                  d
«      j                  di |¤Ž d d d «       y # 1 sw Y   y xY w)Nz2020-06-01 12:00z2020-06-01 14:00rË   rÊ   r«   rj   r   z values must not have NaTr/   r   )Ú60min)
r   r   r)   r•   r”   r2   r3   Ú
ValueErrorr5   r>   )r6   r|  r}  r˜   s       r   Ú"test_groupby_rolling_nans_in_indexz.TestRolling.test_groupby_rolling_nans_in_index¾  sƒ   € ô
 ä Ð"4Ð6HÌ"Ï&É&Ð!QÓRÚÚñó
ˆð �'Š>Ø—‘˜cÓ"ˆBÜ�]‰]œ:°¨uÐ4MÐ-NÖOØ#ˆB�J‰J�s‹O×#Ñ#Ñ8¨xÒ8÷ P×OÑOús   Á""BÂBr^   c                 ó@  — g d¢g d¢g}t        j                  |d¬«      }t        g d¢|¬«      }|j                  ddg|¬«      j	                  d	«      j                  «       }t        g d
¢t        j                  g d¢g d¢¬«      ¬«      }t        j                  ||«       y )N©Úval1r„  Úval2©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   rh   r	   r5   r>   r?   r­   rD   rE   )r6   r^   Úarraysrj   ÚsrI   rH   s          r   Útest_groupby_rolling_group_keysz+TestRolling.test_groupby_rolling_group_keysÏ  s�   € ò
 +Ò,DÐEˆÜ×&Ñ& vÐ5EÔFˆä’9 EÔ*ˆØ—‘˜F FÐ+¸
�ÓC×KÑKÈAÓN×SÑSÓUˆÜÚÜ×(Ñ(òò
 7ôô

ˆô 	×Ñ˜v xÕ0r   c                 óX  — g d¢g d¢g}t        j                  |d¬«      }t        g d¢t        d«      dœ|¬«      }|j	                  dd	g«      j                  d
«      j                  «       }t        dg d¢it        j                  g d¢g d¢¬«      ¬«      }t        j                  ||«       y )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   rh   r   ri   r5   r>   r?   r­   rD   rk   ©r6   rˆ  rj   r˜   rI   rH   s         r   Ú1test_groupby_rolling_index_level_and_column_labelz=TestRolling.test_groupby_rolling_index_level_and_column_labelæ  s—   € â*Ò,DÐEˆÜ×&Ñ& vÐ5EÔFˆäšY¬U°1«XÑ6¸eÔDˆØ—‘˜V S˜MÓ*×2Ñ2°1Ó5×:Ñ:Ó<ˆÜØ’/Ð"Ü×(Ñ(òò
 4ôô

ˆô 	×Ñ˜f hÕ/r   c                 ó"  — t        t        j                  d«      ddgdz  dœ«      }|j                  d«      j	                  d«      j                  «       }t        j                  g d¢dd g¬	«      }t        j                  |j                  |«       y )
Nrû   r   r   r_   rÛ   r   r   )rÍ   rÏ   )r   r_   )r   r�   r×   r  )r   r‰   )r   rÜ   r�   )r   r)   r*   r5   r>   r?   r   r­   rD   Úassert_index_equalrj   ©r6   r˜   rI   rm   s       r   Ú)test_groupby_rolling_resulting_multiindexz5TestRolling.test_groupby_rolling_resulting_multiindexú  st   € ô
 œRŸY™Y s›^°1°a°&¸1±*Ñ=Ó>ˆØ—‘˜C“×(Ñ(¨Ó+×0Ñ0Ó2ˆÜ#×/Ñ/ÚLØ˜�+ô
ˆô 	×Ñ˜fŸl™l¨NÕ;r   c                 ó2  — t        t        j                  d«      ddgdz  g d¢dz  dœ«      }|j                  dd	g«      j	                  d«      j                  «       }t        j                  g d
¢g d¢¬«      }t        j                  |j                  |«       y )Nr5  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   r   r   )r   r   r‰   )r   r   rÝ   )r   r_   r   )r   r_   rÜ   )r   r_   rÚ   )r   r   Nr�   )r   r)   r*   r5   r>   rT   r   r­   rD   r�  rj   r‘  s       r   Ú*test_groupby_rolling_resulting_multiindex2z6TestRolling.test_groupby_rolling_resulting_multiindex2  s   € äœRŸY™Y t›_°A°q°6¸A±:ÂLÐSTÑDTÑUÓVˆØ—‘˜S #˜JÓ'×/Ñ/°Ó2×6Ñ6Ó8ˆÜ#×/Ñ/òò #ô
ˆô" 	×Ñ˜fŸl™l¨NÕ;r   c                 óX  — t        t        j                  d«      ddgdz  g d¢dz  dœ«      }|j                  dd¬	«      }|j	                  d
«      j                  d«      j                  «       }t        j                  g d¢g d¢¬«      }t        j                  |j                  |d¬«       y )Nrû   r   r   r_   r”  r«   r   T)Úappendr   r   ))r   r   r   rË   )r   r_   r   )r   r�   r   )r   r   r   )r   r   r_   )r   r‰   r   )r   rÜ   r_   )r   Nr   r�   Úequiv)Úexact)r   r)   r*   r”   r5   r>   r?   r   r­   rD   r�  rj   r‘  s       r   Ú*test_groupby_rolling_resulting_multiindex3z6TestRolling.test_groupby_rolling_resulting_multiindex3  sŽ   € äœRŸY™Y s›^°1°a°&¸1±*Â<ÐRSÑCSÑTÓUˆØ�\‰\˜# dˆ\Ó+ˆØ—‘˜C“×(Ñ(¨Ó+×0Ñ0Ó2ˆÜ#×/Ñ/ò	ò #ô
ˆô 	×Ñ˜fŸl™l¨NÀ'ÖJr   c                 óê   — |j                  dd¬«      }|j                  d„ «      j                  }|j                  d¬«      }|j                  d„ «      j                  }t	        j
                  ||«       y )Nr   Fr]   c                 ó@   — | j                  d«      j                  «       S rc   ©r>   rT   r@   s    r   rB   zUTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply.<locals>.<lambda>5  s   €  Q§Y¡Y¨q£\×%5Ñ%5Ô%7r   r_   r`   c                 ó@   — | j                  d«      j                  «       S rc   r�  r@   s    r   rB   zUTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply.<locals>.<lambda>7  s   €  1§9¡9¨Q£<×#3Ñ#3Ô#5r   )r5   rC   rj   r>   rD   r�  )r6   r+   rF   rH   Ú_rI   s         r   Ú7test_groupby_rolling_object_doesnt_affect_groupby_applyzCTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply2  sa   € à×Ñ˜s¨uÐÓ5ˆØ—7‘7Ñ7Ó8×>Ñ>ˆØ�I‰I˜QˆIÓˆØ—‘Ñ5Ó6×<Ñ<ˆÜ
×Ñ˜f hÕ/r   )ra   rM   r  rH   r   r'  )NrÃ   r¦   r¦   NrÃ   r¦   r¦   )NNr¦   r¦   NNr¦   r¦   r_   )NNNNNNNNÚright)NNNrù   NNNrù   c           	      óJ  — t        g d¢«      }|j                  g d¢«      j                  |||¬«      j                  d«      }t        t	        j
                  |d¬«      t        t	        j
                  ddg«      g d	¢gg d
¢g d¢g¬«      ¬«      }t        j                  ||«       y )N)r   r   r   r_   r‰   r�   rÜ   r%   )r   r   r   r   r   r   r   r   )ra   rM   r  r   rT  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Ü   )ÚlevelsÚcodesr¬   )	r   r5   r>   rp   r)   rj  r   rD   rk   )r6   ra   rM   r  rH   r˜   rI   Úexpected_results           r   Útest_groupby_rolling_varz$TestRolling.test_groupby_rolling_var:  s�   € ô Ò/Ó0ˆà�J‰JÒ/Ó0ß‰W˜F°ÀFˆWÓKß‰S�‹Vð 	ô
 $Ü�H‰H�X YÔ/ÜÜŸ™ ! Q Ó(Ò*BÐCÚ/Ò1IÐJôô
ˆô 	×Ñ˜f oÕ6r   r“   )r   Ú )r   r   r   r   c                 óJ  — t        ddggdz  ddggdz  z   ddggdz  z   |¬«      }|j                  d	«      }|j                  j                  d
¬«      }|j	                  d«      }|j                  «       }d	|j                  vsJ ‚t        j                  |j                  |«       y )Nr   r   r#   r   r$   r   r%   rS  r   T)Údeepr_   )	r   r5   ÚobjÚcopyr>   rT   r“   rD   rk   )r6   r“   r˜   rF   Úoriginal_objrP   rI   s          r   Útest_by_column_not_in_valuesz(TestRolling.test_by_column_not_in_valuesS  s—   € ô
 ˜˜A˜�x "‘}¨¨A¨ x°"¡}Ñ4¸¸A¸°xÀ!±|ÑCÈWÔUˆØ�J‰J�s‹OˆØ—u‘u—z‘z t�zÓ,ˆØ�I‰I�a‹LˆØ—‘“ˆØ˜&Ÿ.™.Ñ(Ð(Ð(Ü
×Ñ˜aŸe™e \Õ2r   c                 ó‚  — g d¢g d¢g}t        j                  |d¬«      }t        dg d¢i|¬«      }|j                  d¬	«      d   j	                  d
«      j                  «       }t        t        j                  dt        j                  dgt        j                  g d¢g d¢¬«      d¬«      }t        j                  ||«       y )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   rh   r   r5   r>   rT   r	   r)   r•   r­   rD   rE   r�  s         r   Útest_groupby_levelzTestRolling.test_groupby_level`  s®   € ò 5Ú2ð
ˆô ×&Ñ& vÐ5GÔHˆÜ˜Ò%?Ð@ÈÔNˆØ—‘ !�Ó$ [Ñ1×9Ñ9¸!Ó<×@Ñ@ÓBˆÜÜ�V‰V�UœBŸF™F DÐ)Ü×(Ñ(òò 3ôð ô
ˆô 	×Ñ˜v xÕ0r   zby, expected_datarÌ   Únum)ç      Y@ç     Àb@r¸  ç      i@ú
2018-01-01ú
2018-01-02)r·  r¹  r¸  ç     @o@)r%  r¶  c                 óþ  — g d¢g d¢g d¢g d¢g}t        |g d¢¬«      }|d   j                  d|› d	�«      |d<   |j                  dg«      }|D �cg c]  }t        ||«      ‘Œ }}|j	                  |d
¬«      j                  dd¬«      j                  «       }dg d¢i}	|	j                  |«       t        |	|j                  ¬«      }	d|v r|	d   j                  d|› d	�«      |	d<   t        j                  ||	«       y c c}w )N)r   rº  r·  )r   r»  r¹  )r   rº  r¸  )r   r»  r¼  )rÌ   r%  r¶  rS  r%  rq  rr  F)Úas_indexr   r   r  rÌ   )r   r   r   r   r¬   )r   Úastyper”   re   r5   r>   r?   Úupdaterj   rD   rk   )
r6   r;   rš   ro  rï   r˜   ÚattrÚgp_byrI   rH   s
             r   Útest_as_index_falsezTestRolling.test_as_index_falsex  s  € ò* 'Ú&Ú&Ú&ð	
ˆô �tÒ%:Ô;ˆØ˜‘Z×&Ñ&¨¨T¨F°! }Ó5ˆˆ6‰
Ø�\‰\˜6˜(Ó#ˆá/1Ó2©r t”˜˜TÕ"¨rˆÐ2à�J‰J�u uˆJÓ-×5Ñ5¸QÈAÐ5ÓN×SÑSÓUð 	ð Ò.Ð/ˆØ�‰˜Ô&ÜØØ—(‘(ô
ˆð �]Ñ"Ø'¨Ñ/×6Ñ6¸¸T¸FÀ!°}ÓEˆH�VÑÜ
×Ñ˜f hÕ/ùò 3s   ÁC:c                 óJ  — t        j                  |«      j                  }d}t        j                   |d«      |«      }d|d<   d}t        j                  ||«      }t         j                  |d<   d|d<   t        ||dœ«      j                  d«      }|j                  d«      d   j                  d	d¬
«      j                  «       }t        |dt        j                  t        dgdz  dgz   |d¬«      t        dgdz  dgz   |d¬«      g«      ¬«      }	t        j                  ||	«       y )Néè  r   r   éÿÿÿÿg52·ô­DE)rj   Úadl2rj   rÇ  rˆ   r  iç  )r  rÑ   rõ   )r)   r  ÚtypeÚrepeatr•   r   r”   r5   r>   r?   r	   r   rh   r   rD   rE   )
r6   Úany_int_numpy_dtypeÚtypÚsizeÚidxÚvalÚarrr˜   rI   rH   s
             r   Útest_nan_and_zero_endpointsz'TestRolling.test_nan_and_zero_endpoints¥  s  € ä�h‰hÐ*Ó+×0Ñ0ˆØˆÜ�i‰i™˜A› Ó%ˆØˆˆB‰àˆÜ�i‰i˜˜TÓ"ˆÜ—‘ˆˆA‰ØˆˆB‰äàØñó
÷
 ‰)�GÓ
ð 	ð —‘˜GÓ$ VÑ,×4Ñ4¸BÈAÐ4ÓN×SÑSÓUˆÜØØÜ×(Ñ(ä˜1˜# ™) q c™/°¸7ÔCÜ˜1˜# ™) q c™/°¸7ÔCðóô	
ˆô 	×Ñ˜v xÕ0r   c           	      ó  — g d¢}d}t        |D �cg c]  }t        d|z  |z  «      |dz   ddœ‘Œ c}«      }t        j                  t        d¬«      5  |j                  d	«      j                  d
d¬«       d d d «       y c c}w # 1 sw Y   y xY w)N)r   r   r   r   rÅ  r   r   é*   )ÚtrA   r   z.* must be monotonicr/   r   rÓ  Ú3s)rð   ra   )r   r
   r2   r3   r€  r5   r>   )r6   ÚshuffledÚsecrA   r˜   s        r   Ú"test_groupby_rolling_non_monotonicz.TestRolling.test_groupby_rolling_non_monotonicÄ  s„   € ò  ˆØˆÜÙIQÓRÉÀA”9˜Q ™U S™[Ó)°°A±¸BÓ?ÈÑRó
ˆô �]‰]œ:Ð-DÖEØ�J‰J�s‹O×#Ñ# s°4Ð#Ô8÷ FÐEùò SçEÐEús   �A=Á#BÂBc                 ó˜  — g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g
}t        |g d¢¬«      }t        |d   «      |d<   |j                  d«      }|j                  d«      j	                  d«      j                  d„ «      }|j	                  d«      j                  dd¬«      d   j                  «       }t        j                  ||«       y )N)ÚDavidz1/1/2015éd   )rÙ  z1/5/2015éô  )rÙ  z	5/30/2015é2   )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Ñ   r%  Úamount)rï   r“   r%  rÑ   c                 óF   — | j                  d«      d   j                  «       S )NÚ180Drß  r�  r@   s    r   rB   z4TestRolling.test_groupby_monotonic.<locals>.<lambda>ê  s   € ˜QŸY™Y vÓ.¨xÑ8×<Ñ<Ô>r   rá  ra  rß  )
r   r   Úsort_valuesr”   r5   rC   r>   rT   rD   rE   )r6   rï   r˜   rH   rI   s        r   Útest_groupby_monotonicz"TestRolling.test_groupby_monotonicÏ  s½   € ò 'Ú&Ú&Ú&Ú%Ú&Ú%Ú$Ú$Ú%ð
ˆô ˜DÒ*DÔEˆÜ   F¡Ó,ˆˆ6‰
Ø�^‰^˜FÓ#ˆð �L‰L˜Ó ß‰W�V‹_ß‰UÑ>Ó?ð 	ð
 —‘˜FÓ#×+Ñ+¨F°vÐ+Ó>¸xÑH×LÑLÓNˆÜ
×Ñ˜v xÕ0r   c                 ó²  — t        ddd¬«      }t        dgdz  dgdz  z   dgd	z  z   t        j                  ||f«      t        j                  d
«      dœ«      }|j                  d«      j                  d«      j                  d„ «      }|j                  d«      j                  dd¬«      j                  j                  «       }t        j                  ||«       y )Nz2016-01-01 09:30:00r#   r‰  )r  rn  Úfreqr   r   r$   r   r%   r&   r   r   r   c                 óF   — | j                  d«      d   j                  «       S )NÚ4sr   r=   r@   s    r   rB   zJTestRolling.test_datelike_on_monotonic_within_each_group.<locals>.<lambda>ÿ  s   € ¸1¿9¹9ÀT»?È3Ñ;O×;TÑ;TÔ;Vr   rç  ra  )r   r   r)   Úconcatenater*   r”   r5   rC   r>   r   r?   rD   rE   )r6   Údatesr˜   rH   rI   s        r   Ú,test_datelike_on_monotonic_within_each_groupz8TestRolling.test_datelike_on_monotonic_within_each_groupï  sÄ   € ô Ð!6ÀÈÔMˆÜà�S˜2‘X   b¡Ñ(¨A¨3°©7Ñ2Ü—^‘^ U¨E NÓ3Ü—Y‘Y˜r“]ñó
ˆð �L‰L˜Ó×%Ñ% cÓ*×0Ñ0Ñ1VÓWð 	ð —‘˜C“×(Ñ(¨°#Ð(Ó6×8Ñ8×=Ñ=Ó?ˆÜ
×Ñ˜v xÕ0r   c                 ó0  — t        dgdz  dgdz  z   dD �cg c]  }t        |dd«      ‘Œ c}dz  t        d«      dœ«      }t        j                  t
        d¬«      5  |j                  d	«      j                  d
d¬«       d d d «       y c c}w # 1 sw Y   y xY w)Nr   r   r   )iä  iå  rZ  r�   r   z&Each group within B must be monotonic.r/   r   Ú365Dr   ra  )r   r
   ri   r2   r3   r€  r5   r>   )r6   Úyearr˜   s      r   Ú0test_datelike_on_not_monotonic_within_each_groupz<TestRolling.test_datelike_on_not_monotonic_within_each_group  s“   € äà�S˜1‘W ˜s Q™wÑ&Ù8JÓKÑ8J°”i  a¨Õ+Ð8JÑKÈaÑOÜ˜1“Xñó
ˆô �]‰]œ:Ð-UÖVØ�J‰J�s‹O×#Ñ# F¨sÐ#Ô3÷ WÐVùò	 L÷ WÐVús   –B
Á#BÂB)6r  r  r  r8   rJ   rQ   r2   ÚmarkÚparametrizern   ru   rƒ   r›   r    r¥   r°   r½   rÂ   rÔ   ré   rö   r  r
  r  r-  rH  rJ  rP  rX  rg  rk  ru  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-   4   sZ  „ ò+ò
1ò$1ð ‡[�[×ÑØò	
óñ	0óð	0ð ‡[�[×Ñ˜S 5¨% .Ó1ñ	0ó 2ð	0ð ‡[�[×ÑØÒMóñ0óð0ð ‡[�[×ÑÐ.°&¸!°¸uÀc¸lÐ0KÓLñ0ó Mð0ð0 ‡[�[×Ñ˜S 6¨5 /Ó2ñ0ó 3ð0ð ‡[�[×Ñ˜S 6¨5 /Ó2ñ
1ó 3ð
1ð ‡[�[×ÑØØ
�3˜�*˜s C˜jÐ)Ð	*¨V°s¸C°jÀ3ÈÀ*Ð5MÐ,NÐOóñ0ó	ð0ò@
0ò0ð. ‡[�[×ÑÐ7¸3À¸+ÈÈUÀ|Ð9TÓUñ1ó Vð1ò?0òB1ð, ‡[�[×Ñ˜]ªIÓ6ñ0ó 7ð0ò41ò20ò81ò60ò<1ð< ‡[�[×Ñ˜V e¨U ^Ó4ñ1ó 5ð1ò(0ò60ò:0ò")1ðV ‡[�[×ÑØ-ð Ø¨QÑ/Ø—‘˜˜bŸf™f c¨3Ð/ðð
 ˜"˜rŸv™v s¨B¯F©F°C¸ÐHÐIð	
ó
ñ0ó
ð0ð  ‡[�[×ÑØ  c˜{¨CÐ0°D¸$°<ÀÐ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×*Ñ*¨I°zÐ+BÓCÀcÈ3ÀZÐPóñ3óð3ò1ð0 ‡[�[×ÑØàˆV�eÒ9Ð:Ð;à�w�ñ " ,Ó/Ù! ,Ó/Ù! ,Ó/Ù! ,Ó/ð	ò 8ñðð	
óñ$0ó%ð$0ò61ò>	9ò1ò@1ó*
4r   r-   c                   ó\  — e Zd Zej                  d„ «       Zej                  j                  dg d¢«      d„ «       Zej                  j                  dddg«      d„ «       Z	ej                  j                  dg d	¢«      d
„ «       Z
ej                  j                  dddg«      d„ «       Zd„ Zd„ Zy)ÚTestExpandingc                 óh   — t        dgdz  dgdz  z   dgdz  z   t        j                  d«      dœ«      S r"   r(   )r6   s    r   ÚframezTestExpanding.frame  s6   € ä ˜s R™x¨1¨#°©(Ñ2°a°S¸1±WÑ<Ä2Ç9Á9ÈRÃ=ÑQÓRÐRr   rR   rS   c                 ó  ‡— |j                  dd¬«      }|j                  «       } t        |‰«      «       }|j                  ˆfd„«      }t	        j
                  |d   t        d«      g«      }||_        t        j                  ||«       y )Nr   Fr]   c                 óB   •—  t        | j                  «       ‰«      «       S r³   ©re   rw  rf   s    €r   rB   z.TestExpanding.test_expanding.<locals>.<lambda>*  s   ø€ Ð%>¤W¨Q¯[©[«]¸AÓ%>Ô%@r   r&   ©
r5   rw  re   rC   r   rh   ri   rj   rD   rk   ©r6   rR   rô  rF   rP   rI   rH   rm   s    `      r   Útest_expandingzTestExpanding.test_expanding  st   ø€ ð  �M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆà”˜˜A““ˆØ—7‘7Ó@ÓAˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/r   ro   rp   c                 ó  ‡— |j                  dd¬«      }|j                  «       } t        |‰«      d¬«      }|j                  ˆfd„«      }t	        j
                  |d   t        d«      g«      }||_        t        j                  ||«       y )Nr   Fr]   r   rr   c                 óF   •—  t        | j                  «       ‰«      d¬«      S )Nr   rr   r÷  rf   s    €r   rB   z3TestExpanding.test_expanding_ddof.<locals>.<lambda>6  s   ø€ Ð%>¤W¨Q¯[©[«]¸AÓ%>ÀAÕ%Fr   r&   rø  rù  s    `      r   Útest_expanding_ddofz!TestExpanding.test_expanding_ddof0  su   ø€ à�M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆà”˜˜A“ AÔ&ˆØ—7‘7ÓFÓGˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/r   rv   rw   c                 ó  ‡— |j                  dd¬«      }|j                  «       }|j                  d‰¬«      }|j                  ˆfd„«      }t	        j
                  |d   t        d«      g«      }||_        t        j                  ||«       y )Nr   Fr]   r~   r   c                 óF   •— | j                  «       j                  d‰¬«      S )Nr~   r   )rw  r�   r‚   s    €r   rB   z7TestExpanding.test_expanding_quantile.<locals>.<lambda>E  s   ø€ �a—k‘k“m×,Ñ,¨SÀÐ,ÔNr   r&   )
r5   rw  r�   rC   r   rh   ri   rj   rD   rk   )r6   rv   rô  rF   rP   rI   rH   rm   s    `      r   Útest_expanding_quantilez%TestExpanding.test_expanding_quantile<  s{   ø€ ð �M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆà—‘˜C¨}�Ó=ˆØ—7‘7ÛNó
ˆô $×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/r   r„   r…   c                 ó  ‡‡— ‰j                  d«      }|j                  «       } t        |‰«      ‰«      }ˆˆfd„}|j                  |«      }t	        t        dd«      «      t	        t        dd«      «      z   }t        j                  |j                  |df<   t        j                  |d<   t        j                  ||«        t        |j                  ‰«      d¬	«      }ˆfd
„}	|j                  |	«      }t        j                  ||«       y )Nr   c                 óD   •—  t        | j                  «       ‰«      ‰«      S r³   r÷  )rA   rR   rô  s    €€r   Úfunc_0z5TestExpanding.test_expanding_corr_cov.<locals>.func_0S  s   ø€ Ø,”7˜1Ÿ;™;›=¨!Ó,¨UÓ3Ð3r   r#   é=   éH   éq   r   Tr¢   c                 óZ   •—  t        | j                  j                  «       ‰«      d¬«      S )NTr¢   )re   r   rw  rf   s    €r   Úfunc_1z5TestExpanding.test_expanding_corr_cov.<locals>.func_1b  s!   ø€ Ø.”7˜1Ÿ3™3Ÿ=™=›?¨AÓ.¸Ô=Ð=r   )r5   rw  re   rC   r–   ri   r)   r•   ÚilocrD   rk   r   rE   )
r6   rR   rô  rF   rP   rI   r  rH   Únull_idxr  s
    ``       r   Útest_expanding_corr_covz%TestExpanding.test_expanding_corr_covL  sÓ   ù€ à�M‰M˜#ÓˆØ�K‰K‹Mˆà”˜˜A“˜uÓ%ˆõ	4ð —7‘7˜6“?ˆô œ˜b "›Ó&¬¬e°B¸«nÓ)=Ñ=ˆÜ%'§V¡Vˆ�‰�h �kÑ"ô Ÿ™ˆ�‰Ü
×Ñ˜f hÔ/à ”˜Ÿ™˜a“¨$Ô/ˆô	>ð —7‘7˜6“?ˆÜ
×Ñ˜v xÕ0r   c                 ó  ‡— |j                  dd¬«      }|j                  «       }|j                  d„ ‰¬«      }|j                  ˆfd„«      }t        j                  |d   t        d«      g«      }||_        t        j                  ||«       y )Nr   Fr]   c                 ó"   — | j                  «       S r³   r´   r@   s    r   rB   z4TestExpanding.test_expanding_apply.<locals>.<lambda>m  rµ   r   r¶   c                 óH   •— | j                  «       j                  d„ ‰¬«      S )Nc                 ó"   — | j                  «       S r³   r´   rº   s    r   rB   zFTestExpanding.test_expanding_apply.<locals>.<lambda>.<locals>.<lambda>n  s
   € À1Ç5Á5Ä7r   r¶   )rw  rC   r¼   s    €r   rB   z4TestExpanding.test_expanding_apply.<locals>.<lambda>n  s   ø€  Q§[¡[£]×%8Ñ%8Ñ9JÐPSÐ%8Ô%Tr   r&   )	r5   rw  rC   r   rh   ri   rj   rD   rk   )r6   r·   rô  rF   rP   rI   rH   rm   s    `      r   Útest_expanding_applyz"TestExpanding.test_expanding_applyh  sx   ø€ Ø�M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆð —‘Ñ*°�Ó4ˆØ—7‘7ÓTÓUˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/r   c           	      óT  — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  d«      j                  t	        dt
        ¬«      t	        d	t        ¬«      ¬
«      }t        g d¢g d¢d
œt        ddgg d¢gg d¢g d¢gdd g¬«      ¬«      }t        j                  ||«       y )Nr/  r2  r6  r8  r9  r   r;  r<  r:  r?  )r7  rB  gÍÌÌÌÌÌ;@rô   rC  g     ðn@)r3  r3  r3  rú   rú   rú   r0  r1  rD  rE  rF  r�   r¬   )
r   r5   rw  rG  r   rT   rU   r   rD   rk   r	  s       r   Ú#test_groupby_expanding_agg_namedaggz1TestExpanding.test_groupby_expanding_agg_namedaggt  s©   € äâBÚ:Ú<ñó
ˆð �J‰J�vÓß‰Y�q‹\ß‰SÜ%¨X¼sÔCÜ#¨8¼SÔAð ó ð 	ô â DÚ<ñô Ø˜�Ò!3Ð4Ú#Ò%7Ð8Ø˜t�nôô

ˆô 	×Ñ˜f hÕ/r   N)r  r  r  r2   Úfixturerô  rï  rð  rú  rý  r   r  r  r  r   r   r   rò  rò    sÊ   „ Ø‡^�^ñSó ðSð ‡[�[×ÑØò	
óñ	0óð	0ð ‡[�[×Ñ˜S 5¨% .Ó1ñ	0ó 2ð	0ð ‡[�[×ÑØÒMóñ0óð0ð ‡[�[×Ñ˜S 6¨5 /Ó2ñ1ó 3ð1ò6
0ó0r   rò  c            
       ó>  — e Zd Zej                  j                  ddg d¢gdej                  dddggdej                  d	d
dggg«      d„ «       Zd„ Z	ej                  j                  ddej                  dddggdej                  d	ddggg«      d„ «       Z
d„ Zd„ Zd„ Zy)ÚTestEWMzmethod, expected_datar?   ©rÃ   gUUUUUUå?g·mÛ¶mÛö?g""""""@ro   ç»¹øÛž æ?ç¦€´ÿÖî?çët ë©Õò?rp   r†   çnÛ¶mÛ¶í?ç¾â+¾â+ö?c                 ó  — t        dgdz  t        d«      dœ«      } t        |j                  d«      j	                  d¬«      |«      «       }t        d|it        j                  g d¢dd g¬	«      ¬
«      }t        j                  ||«       y )Nr   r_   r'   r   r¦   ©Úcomr   ©rÞ   rß   rà   rá   r�   r¬   )	r   ri   re   r5   Úewmr   r­   rD   rk   ©r6   Úmethodrš   r˜   rI   rH   s         r   Útest_methodszTestEWM.test_methods”  s„   € ô ˜c˜U Q™Y¬U°1«XÑ6Ó7ˆØ>”˜Ÿ™ C›×,Ñ,°Ð,Ó5°vÓ>Ó@ˆÜØ�-Ð Ü×(Ñ(òð ˜D�kôô
ˆô 	×Ñ˜f hÕ/r   c                 ó®  — t        dgdz  t        d«      dœ«      }|j                  d«      j                  d¬«      j	                  t        dd¬	«      t        dd
¬	«      t        dd¬	«      ¬«      }t        g d¢t        j                  dddgt        j                  dddgdœt        j                  g d¢dd g¬«      ¬«      }t        j                  ||«       y )Nr   r_   r'   r   r¦   r  r   r?   r<  ro   rp   )ÚB_meanÚB_stdÚB_varr  r  r  r  r†   r  r  r  r�   r¬   )r   ri   r5   r   rG  r   r)   r•   r   r­   rD   rk   r	  s       r   Útest_groupby_ewm_agg_namedaggz%TestEWM.test_groupby_ewm_agg_namedagg®  sÍ   € ä˜c˜U Q™Y¬U°1«XÑ6Ó7ˆà�J‰J�s‹Oß‰S�SˆS‹\ß‰SÜ s°FÔ;Ü c°5Ô9Ü c°5Ô9ð ó ð 	ô òô Ÿ&™& (¨H°hÐ?ÜŸ&™& #Ð'9Ð;MÐNñ	ô ×(Ñ(òð ˜D�kôô
ˆô* 	×Ñ˜f hÕ/r   r„   r¦   r   r…   gÒr ‡Ú¶í?gß¿yqâ+ö?c                 ó’  ‡— t        dgdz  t        d«      dœ«      } t        |j                  d«      j	                  d¬«      ‰«      «       }t        d|it        j                  g d¢g d	¢¬
«      ¬«      }t        j                  ||«       |j                  d«      dg   j                  ˆfd„«      }t        j                  ||«       y )Nr   r_   r'   r   r¦   r  r   ))r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   NNr�   r¬   c                 óF   •—  t        | j                  d¬«      ‰«      «       S )Nr¦   r  )re   r   )rA   r"  s    €r   rB   z/TestEWM.test_pairwise_methods.<locals>.<lambda>è  s   ø€ Ð5”g˜aŸe™e¨˜e›n¨fÓ5Ô7r   )
r   ri   re   r5   r   r   r­   rD   rk   rC   r!  s    `    r   Útest_pairwise_methodszTestEWM.test_pairwise_methodsÑ  sµ   ø€ ô ˜c˜U Q™Y¬U°1«XÑ6Ó7ˆØ>”˜Ÿ™ C›×,Ñ,°Ð,Ó5°vÓ>Ó@ˆÜØ�-Ð Ü×(Ñ(òò (ôô
ˆô 	×Ñ˜f hÔ/à—:‘:˜c“? C 5Ñ)×/Ñ/Û7ó
ˆô 	×Ñ˜f hÕ/r   c                 ó
  — d}|j                  d«      }|j                  d«      j                  ||¬«      j                  «       }t	        dg d¢it        j                  g d¢dd g¬«      ¬	«      }t        j                  ||«       y )
Nú23 daysr   r   ©ÚhalflifeÚtimesr   )
rÃ   gCusñ·=à?g;¬pËGRð?gÀZµkBšø?rÃ   gÕ>�(â?g8KÉrŠó?rÃ   gÒ§Uô‡æä?gAó9w»ó?)
rÞ   rá   )r   r�   )r   rÝ   )r   r   ry  rå   )r   r   )r   r‰   )r   r%   r�   r¬   )	Úpopr5   r   r?   r   r   r­   rD   rk   )r6   r    r/  r0  rI   rH   s         r   Ú
test_timeszTestEWM.test_timesì  s…   € àˆà—‘ Ó$ˆØ×$Ñ$ SÓ)×-Ñ-°xÀuÐ-ÓM×RÑRÓTˆÜàò ðô ×(Ñ(òð ˜D�kôô
ˆô> 	×Ñ˜f hÕ/r   c                 ó  — d}|j                  d«      }|j                  d«      }|j                  ||¬«      j                  «       }|j                  ||j                  ¬«      j                  «       }t        j                  ||«       y )Nr-  r   r   r.  )r1  r5   r   r?   ÚvaluesrD   rk   )r6   r    r/  r0  rî   rI   rH   s          r   Útest_times_arrayzTestEWM.test_times_array  so   € àˆØ—‘ Ó$ˆØ× Ñ  Ó%ˆØ—‘ °�Ó7×<Ñ<Ó>ˆØ—6‘6 8°5·<±<�6Ó@×EÑEÓGˆÜ
×Ñ˜f hÕ/r   c                 óŠ  — t        g d¢t        ddd¬«      t        d«      dœ«      }|j                  d«      j	                  dd	¬
«      }|j                  «       }t        t        ddd¬«      dgdz  dœt        j                  g d¢t        t        d«      «      gdd g¬«      ¬«      }t        j                  ||«       |d   j                  «       }t        dgdz  t        j                  g d¢t        ddd¬«      gdd	g¬«      d¬«      }t        j                  ||«       |j                  «       }t        j                  ||«       y )N)r   r   r   r   r   z2021-9-1r‰   Úh)rn  rå  )rÌ   Ú	timestampr»   rÌ   Ú1hr8  ra  r¦   )r8  r»   r�   r¬   r»   rÐ   )r   r   ri   r5   r>   rO   r   rh   r–   rD   rk   r	   rE   )r6   r˜   ÚgrprI   Úexpected_dfÚexpected_seriess         r   Ú"test_dont_mutate_obj_after_slicingz*TestEWM.test_dont_mutate_obj_after_slicing  s/  € äâ/Ü'¨
¸AÀCÔHÜ˜1“Xñó
ˆð �j‰j˜Ó×&Ñ& t°Ð&Ó<ˆØ—‘“ˆÜä'¨
¸AÀCÔHØ�U˜Q‘Yñô ×(Ñ(Ú*¬D´°q³«NÐ;ÀDÈ$À<ôô
ˆô 	×Ñ˜f kÔ2à�S‘—‘Ó!ˆÜ ØˆE�A‰IÜ×(Ñ(â-Ü˜z°1¸3Ô?ðð ˜[Ð)ôð ô

ˆô 	×Ñ˜v Ô7à—‘“ˆÜ
×Ñ˜f kÕ2r   N)r  r  r  r2   rï  rð  r)   r•   r#  r(  r+  r2  r5  r=  r   r   r   r  r  “  sÈ   „ Ø‡[�[×ÑØàÒVÐWØ�R—V‘V˜X x°Ð:Ð;Ø�R—V‘V˜SÐ"4Ð6HÐIÐJð	
óñ0óð0ò$!0ðF ‡[�[×ÑØØ
�2—6‘6˜3  QÐ'Ð	(¨5°2·6±6¸3ÀÈ(Ð2SÐ*TÐUóñ0ó	ð0ò.%0òN0ó%3r   r  c                  óŒ  — t        g d¢g d¢dœ«      } | j                  dg«      }|j                  d«      j                  | ¬«      }t	        j
                  g d¢dd g¬«      }t        t        j                  t        j                  t        j                  gt        j                  d	d	gdœ|¬
«      }t        j                  ||«       y )N)©r   r?  r?  ©r_   r‰   r�   rÛ   r   r   ©r™   ))r?  r   )r?  r   )r?  r   r�   r¦   r¬   ©
r   r5   r>   r„   r   r­   r)   r•   rD   rk   ©r˜   rî   rI   rj   rH   s        r   Ú.test_rolling_corr_with_single_integer_in_indexrD  D  s™   € ä	Ò+²)Ñ<Ó	=€BØ	�‰�S�EÓ	€BØ�Z‰Z˜‹]×Ñ bÐÓ)€FÜ×"Ñ"Ò#DÈSÐRVÈKÔX€EÜÜ�v‰v”r—v‘vœrŸv™vÐ&¬b¯f©f°c¸3Ð-?Ñ@Èô€Hô ×Ñ˜& (Õ+r   c                  óŒ  — t        g d¢g d¢dœ«      } | j                  dg«      }|j                  d«      j                  | ¬«      }t	        j
                  g d¢dd g¬«      }t        t        j                  t        j                  t        j                  gt        j                  d	d	gdœ|¬
«      }t        j                  ||«       y )N)rÏ   rÏ   rÏ   r@  rÛ   r   r   rA  ))rÏ   r   )rÏ   r   )rÏ   r   r�   r¦   r¬   rB  rC  s        r   Ú&test_rolling_corr_with_tuples_in_indexrF  P  s§   € ä	òò ñ	
ó
€Bð& 
�‰�S�EÓ	€BØ�Z‰Z˜‹]×Ñ bÐÓ)€FÜ×"Ñ"Ú/¸¸T°{ô€Eô Ü�v‰v”r—v‘vœrŸv™vÐ&¬b¯f©f°c¸3Ð-?Ñ@Èô€Hô ×Ñ˜& (Õ+r   )Únumpyr)   r2   Úpandas.errorsr   Úpandasr   r   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingrD   Úpandas.api.indexersr   Úpandas.core.groupby.groupbyr   r  r    r+   r-   rò  r  rD  rF  r   r   r   Ú<module>rN     s‹   ðÛ Û å (÷
÷ 
õ 
õ Ý +Ý 3ð ‡�ñó ðð0 ‡�ñOó ðO÷Z4ñ Z4÷z0ñ 0÷Dn3ñ n3òb	,ó,r   