Ë
    ¤eh¶  ã                   óð   — d dl Zd dlZd dl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)Ú	DataFrameÚDatetimeIndexÚIndexÚ
MultiIndexÚ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
   © ó    ú^/var/www/skyplay_api_hub/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ej                  j                  d)d*d+g«      d,„ «       Zd-„ Zd.„ Zd/„ Zd0„ Zej                  j                  d1d2d3dd4œfd5i fg«      d6„ «       Zej                  j                  d7d8d9id9fd8d:id;fg«      d<„ «       Z ej                  j                  d=ddg«      d>„ «       Z!d?„ Z"d@„ Z#dA„ Z$dB„ Z%dC„ Z&ej                  j                  dDd3dEdFg dG¢fd3d3dFg dH¢fdIdIdFg dJ¢fdIdIdKg dL¢fg«      dM„ «       Z'ej                  j                  dN e(jR                  dOdPg«      dQdRgg«      dS„ «       Z*dT„ Z+ej                  j                  dUdVgdWg dX¢igdVd;g e,dY«       e,dZ«       e,dY«       e,dZ«      gg d[¢d\œgg«      d]„ «       Z-d^„ Z.d_„ Z/d`„ Z0da„ Z1db„ Z2y:)cÚ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_argument2   s=   € ØEˆÜ�]‰]œ9¨CÔ0ñ 	+Ø×Ñ˜s¨ÐÔ*÷	+÷ 	+ñ 	+ú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¸«|×/@Ñ/@Ó/B€ r   r   )	r3   r   r   Úapplyr<   r=   ÚtmÚassert_series_equalr   )r4   r)   ÚgÚ	g_mutatedÚexpectedÚresults         r   Útest_getitemzTestRolling.test_getitem7   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_periodsr8   c                 óD   — | j                  dd¬«      j                  «       S )Nr   r   rJ   )r<   Úcountr>   s    r   r@   z3TestRolling.test_getitem_multiple.<locals>.<lambda>N   s   € ¨q¯y©y¸È¨yÓ/J×/PÑ/PÓ/R€ r   )r3   r<   r   r   rA   rM   rB   rC   )r4   r)   rD   ÚrrE   rF   rG   s          r   Útest_getitem_multiplez!TestRolling.test_getitem_multipleI   sƒ   € à×Ñ˜sÓ#ˆØ�I‰I�a QˆIÓ'ˆÜ 
¨sÔ3ˆ	Ø—;‘;×$Ñ$Ñ%RÓSˆà—‘—‘“ˆÜ
×Ñ˜v xÔ0à—‘—‘“ˆÜ
×Ñ˜v xÕ0r   Úf©Úsumr=   ÚminÚmaxrM   ÚkurtÚskewc                 ó¤  ‡— |j                  dd¬«      }|j                  d¬«      } t        |‰«      «       }d}t        j                  t
        |¬«      5  |j                  ˆfd„«      }d d d «       j                  dd	¬
«      }t        j                  |d   t        d«      g«      }||_        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   F©Ú
group_keysé   ©Úwindowú7DataFrameGroupBy.apply operated on the grouping columnsr-   c                 óD   •—  t        | j                  d«      ‰«      «       S ©NrZ   ©Úgetattrr<   ©r?   rP   s    €r   r@   z*TestRolling.test_rolling.<locals>.<lambda>i   s   ø€ Ð)A¬°·±¸1³¸qÓ)AÓ)C€ r   r   ©Úaxisr$   ©r3   r<   ra   rB   Úassert_produces_warningÚDeprecationWarningrA   Údropr   Úfrom_arraysÚrangeÚindexÚassert_frame_equal©	r4   rP   r)   rD   rN   rG   r5   rF   Úexpected_indexs	    `       r   Útest_rollingzTestRolling.test_rollingV   s¿   ø€ ð ×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆà”˜˜A““ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	EØ—w‘wÓCÓDˆH÷	Eð —=‘= ¨1�=Ó-ˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	Eð 	Eúó   ÁCÃCÚstdÚvarc                 ó¨  ‡— |j                  dd¬«      }|j                  d¬«      } t        |‰«      d¬«      }d}t        j                  t
        |¬	«      5  |j                  ˆfd
„«      }d d d «       j                  dd¬«      }t        j                  |d   t        d«      g«      }||_        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   FrX   rZ   r[   r   ©Úddofr]   r-   c                 óH   •—  t        | j                  d«      ‰«      d¬«      S )NrZ   r   rt   r`   rb   s    €r   r@   z/TestRolling.test_rolling_ddof.<locals>.<lambda>y   s   ø€ Ð)A¬°·±¸1³¸qÓ)AÀqÔ)I€ r   rc   r$   re   rm   s	    `       r   Útest_rolling_ddofzTestRolling.test_rolling_ddofq   sÀ   ø€ à×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆà”˜˜A“ AÔ&ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	KØ—w‘wÓIÓJˆH÷	Kð —=‘= ¨1�=Ó-ˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	Kð 	Kúó   ÁCÃCÚinterpolation©ÚlinearÚlowerÚhigherÚmidpointÚnearestc                 ó¨  ‡— |j                  dd¬«      }|j                  d¬«      }|j                  d‰¬«      }d}t        j                  t
        |¬	«      5  |j                  ˆfd
„«      }d d d «       j                  dd¬«      }t        j                  |d   t        d«      g«      }||_        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   FrX   rZ   r[   çš™™™™™Ù?©ry   r]   r-   c                 óH   •— | j                  d«      j                  d‰¬«      S )NrZ   r�   r‚   )r<   Úquantile©r?   ry   s    €r   r@   z3TestRolling.test_rolling_quantile.<locals>.<lambda>Œ   s   ø€ ˜!Ÿ)™) A›,×/Ñ/°À=Ð/ÓQ€ r   r   rc   r$   )r3   r<   r„   rB   rf   rg   rA   rh   r   ri   rj   rk   rl   )	r4   ry   r)   rD   rN   rG   r5   rF   rn   s	    `       r   Útest_rolling_quantilez!TestRolling.test_rolling_quantile�   sÀ   ø€ ð ×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆà—‘˜C¨}�Ó=ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	Ø—w‘wÛQóˆH÷	ð
 —=‘= ¨1�=Ó-ˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	ð 	úrx   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   rZ   rŒ   )ÚvalueÚidx1Úidx2rŽ   r�   )r�   r�   r   ©ÚlevelrZ   r�   é   )rŽ   rŽ   r�   ©Únames©Úcolumnsrk   )r   rj   Ú	set_indexra   r3   r<   r'   Únanr   ri   ÚlistrB   rl   )r4   rP   Úexpected_valÚdfÚotherrG   Úexpected_datarF   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                 óV  ‡‡— ‰j                  d«      }|j                  d¬«      } t        |‰«      ‰«      }ˆˆfd„}d}t        j                  t
        |¬«      5  |j                  |«      }d d d «       t        j                  d<   t        j                  ||«       y # 1 sw Y   Œ3xY w)Nr   rZ   r[   c                 óF   •—  t        | j                  d«      ‰«      ‰«      S r_   r`   )r?   rP   r)   s    €€r   ÚfunczITestRolling.test_rolling_corr_cov_other_diff_size_as_groups.<locals>.funcµ   s   ø€ Ø+”7˜1Ÿ9™9 Q›<¨Ó+¨JÓ7Ð7r   r]   r-   )
r3   r<   ra   rB   rf   rg   rA   r'   r˜   rl   ©	r4   rP   r)   rD   rN   rG   r¡   r5   rF   s	    ``      r   Ú/test_rolling_corr_cov_other_diff_size_as_groupsz;TestRolling.test_rolling_corr_cov_other_diff_size_as_groups®   s”   ù€ à×Ñ˜sÓ#ˆØ�I‰I˜QˆIÓˆà”˜˜A“˜zÓ*ˆõ	8ð HˆÜ×'Ñ'Ô(:À#ÔFñ 	%Ø—w‘w˜t“}ˆH÷	%ô Ÿ™ˆ�‰Ü
×Ñ˜f hÕ/÷	%ð 	%ús   ÁBÂB(c                 óB  ‡— |j                  d«      }|j                  d¬«      } t        |j                  ‰«      d¬«      }ˆfd„}d}t	        j
                  t        |¬«      5  |j                  |«      }d d d «       t	        j                  |«       y # 1 sw Y   Œ xY w)	Nr   rZ   r[   T©Úpairwisec                 ó\   •—  t        | j                  j                  d«      ‰«      d¬«      S )NrZ   Tr¥   )ra   r   r<   rb   s    €r   r¡   z8TestRolling.test_rolling_corr_cov_pairwise.<locals>.funcÇ   s#   ø€ Ø-”7˜1Ÿ3™3Ÿ;™; q›>¨1Ó-°tÔ<Ð<r   r]   r-   )	r3   r<   ra   r   rB   rf   rg   rA   rC   r¢   s	    `       r   Útest_rolling_corr_cov_pairwisez*TestRolling.test_rolling_corr_cov_pairwiseÀ   s‰   ø€ à×Ñ˜sÓ#ˆØ�I‰I˜QˆIÓˆà ”˜Ÿ™˜a“¨$Ô/ˆô	=ð HˆÜ×'Ñ'Ô(:À#ÔFñ 	%Ø—w‘w˜t“}ˆH÷	%ä
×Ñ˜v xÕ0÷	%ð 	%ús   Á$BÂB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’   rZ   ©r   r   r   r   r   rZ   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“   ©rk   )
r   r3   r<   ra   r'   r˜   r   Úfrom_tuplesrB   rl   )r4   r¡   Úexpected_valuesr›   ÚrolrG   rF   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„ ‰¬«      }d}t        j                  t
        |¬	«      5  |j                  ˆfd
„«      }d d d «       j                  dd¬«      }t        j                  |d   t        d«      g«      }||_
        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   FrX   rZ   r[   c                 ó"   — | j                  «       S ©N©rR   r>   s    r   r@   z0TestRolling.test_rolling_apply.<locals>.<lambda>ø   ó   €  1§5¡5£7€ r   ©Úrawr]   r-   c                 óJ   •— | j                  d«      j                  d„ ‰¬«      S )NrZ   c                 ó"   — | j                  «       S r¶   r·   ©Úys    r   r@   zBTestRolling.test_rolling_apply.<locals>.<lambda>.<locals>.<lambda>û   s   € ÀaÇeÁeÃg€ r   r¹   )r<   rA   ©r?   rº   s    €r   r@   z0TestRolling.test_rolling_apply.<locals>.<lambda>û   s!   ø€ ¨¯©°1«×);Ñ);Ñ<MÐSVÐ);Ó)W€ r   r   rc   r$   )r3   r<   rA   rB   rf   rg   rh   r   ri   rj   rk   rl   )	r4   rº   r)   rD   rN   rG   r5   rF   rn   s	    `       r   Útest_rolling_applyzTestRolling.test_rolling_applyó   sÃ   ø€ Ø×Ñ˜s¨uÐÓ5ˆØ�I‰I˜QˆIÓˆð —‘Ñ*°�Ó4ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	YØ—w‘wÓWÓXˆH÷	Yð —=‘= ¨1�=Ó-ˆä#×/Ñ/°¸C±Ä%ÈÃ)Ð0LÓMˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	Yð 	Yús   ÁC	Ã	C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 )Nr/   r   Úbarr   r’   r%   r   ))rÂ   r   )rÂ   rZ   )rÂ   rŒ   )r/   r   )r/   r   )r/   r   ç       @r   r   r•   r[   )r   r3   r   r°   r”   r'   r˜   r<   rR   rB   rl   )r4   r›   rD   ÚmirF   rG   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�   ©rk   Úname)
r   r3   r�   r<   rA   r   r   r°   rB   rC   )r4   Úexpected_valueÚ	raw_valuerÌ   r›   rG   rF   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   )Úcenterr\   rŒ   )rÐ   ©r   r   ©r   r   ©rZ   r   )rŒ   rZ   r¯   rZ   )rÐ   rÚ   rÛ   rÜ   r   r   é   ©r   r   r   é   r#   é	   )©r   r   ©r   r   ©r   r   ©r   r   ©r   rZ   ©r   rŒ   ©r   r’   ©r   rß   ©r   r#   ©r   rà   )r   r‹   r“   )rk   r–   r‹   )
rá   râ   rã   rä   rå   ræ   rç   rè   ré   rê   )r   rj   r3   r<   r=   r'   r˜   r   r°   rB   rC   r   rl   )r4   ÚseriesrG   rF   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_2rZ   r‹   )ÚDateÚgbr�   )Údatarñ   rð   Tr   )ÚonrÙ   rK   r“   )
r©   ç      ø?rÃ   g      @ç      @g      @ç      @ç      @r÷   r÷   r�   ©rÔ   rk   )r   r	   rj   r3   r<   r�   r=   r   ri   r   rB   rC   )r4   r›   rG   rÄ   rF   s        r   Útest_groupby_rolling_center_onz*TestRolling.test_groupby_rolling_center_onk  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   rK   )rŒ   rZ   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Ù   rK   rò   )
r©   rô   rÃ   rõ   rª   ç      @g      @rö   r÷   ç       @g      $@r   r   )r   rj   r3   r<   r=   Úreset_indexrT   r'   r˜   rB   rl   )r4   rK   r›   Úwindow_sizerG   Ú
grp_A_meanr?   Ú
grp_B_meanÚnum_nansÚnansÚgrp_A_expectedÚgrp_B_expectedrF   s                r   Ú'test_groupby_rolling_center_min_periodsz3TestRolling.test_groupby_rolling_center_min_periods�  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ˆ
Ð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   r3   r<   rT   r'   r˜   r   r°   rB   rl   r   rC   )r4   r›   rG   rF   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	                  «       | j                   z
  }|||dk  <   ||fS )Nr   ©Údtyper   )rÿ   r'   r(   Úint64Úcopy)r4   Ú
num_valuesrK   rÙ   ÚclosedÚstepÚendÚstarts           r   Úget_window_boundszXTestRolling.test_groupby_rolling_custom_indexer.<locals>.SimpleIndexer.get_window_bounds¸  s]   € ð 3>Ð2E˜d×.Ò.È1�Ü—i‘i 
´"·(±(Ô;¸aÑ?�ØŸ™›
 T×%5Ñ%5Ñ5�Ø#.��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ÿ   rJ   ©r\   rK   )r   r   r3   rk   r<   rR   rB   rl   )r4   r  r›   rG   rF   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   rZ   r   ©ú
2019-01-01r!  ú
2019-01-02r"  r   ©Úcolumn1Úcolumn2rû   Údaterû   Ú1Dr&  Úleft©ró   r  r$  r©   ç      "@r“   rÓ   ©r   rj   r   r3   r<   rR   r   r'   r˜   r   Ú
from_framerB   rC   ©r4   r&  r›   rG   rF   s        r   Ú'test_groupby_rolling_subset_with_closedz3TestRolling.test_groupby_rolling_subset_with_closedÑ  sü   € ää  ›8Ü  ›8Ø˜ ™ c U¨Q¡YÑ.ð !Yöàô ˜d•Oòð ñ	ñ		ó
ˆð �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        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   rZ   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öàô ˜d•Oòð ñ	ñ		ó
ˆð �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¡   rT   rS   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   r?   )r   r¾   )r   ÚzÚ1Ú2r“   r   rÓ   r   rÃ   ))r   r   r?   )r   r   r¾   )r   r   r2  )r   r3  r4  )
r   r   r°   ra   r3   r<   r'   r˜   rB   rC   )r4   r¡   ÚdsrG   rF   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“   )r8  Ús2r;  )r8  r;  N)r   r3   r<   rR   rh   r   Úfrom_productr   rk   rB   rl   )r4   rF   rG   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!   )rk   rû   Ú	eventTimer9  rk   rû   Úcount_to_dateÚ10drC  ©ró   c                 ó    — | j                   d   S )Nr   )Úshape)r›   s    r   r@   z?TestRolling.test_groupby_rolling_string_index.<locals>.<lambda>J  s   € °·±¸!±€ r   r©   rÃ   rõ   )rk   rû   rC  rD  )	r   r   r—   r3   Úcumcountr<   rA   rB   rl   )r4   r›   ÚgroupsÚrolling_groupsrG   rF   s         r   Ú!test_groupby_rolling_string_indexz-TestRolling.test_groupby_rolling_string_index:  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   )r/   rÂ   r/   F)ÚsortrÃ   r©   rÂ   )r   r   rÑ   r“   r•   r9  )r   r3   r<   rS   r'   Úarrayr   r°   rh   rB   rl   )r4   rG   rF   s      r   Útest_groupby_rolling_no_sortz(TestRolling.test_groupby_rolling_no_sortW  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œ«      }|j                  d«      j	                  d	d
d¬«      d   j                  «       }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 )Nr’   r   r   r   Ú20190101)r  ÚperiodsÚunitr#  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   rj   r	   r3   r<   rM   r   r   ri   r   r'   r˜   rB   rC   )r4   rT  r›   rG   ÚdtirÄ   rF   s          r   Ú$test_groupby_rolling_count_closed_onz0TestRolling.test_groupby_rolling_count_closed_onh  sé   € ää  ›8Ü  ›8Ø˜c 3˜Z™Ü" z¸1À4ÔHñ	ó
ˆð �J‰J�wÓß‰W�T˜f¨VˆWÓ4°Yñ@ç‰U‹Wð 	ô
 òð ˜�v˜Q�-ô

ˆô ×#Ñ#â.Øðð ˜FÐ#ô
ˆô Ü�V‰V�S˜#œrŸv™v s¨CÐ0ØØô
ˆô
 	×Ñ˜v xÕ0r   )r¡   Úkwargsr<   r   r  Ú	expandingc                 ó¦  — 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  t        j
                  dt        j
                  ddgd	œt        j                  g d
¢dd g¬«      ¬«      }|j                  d¬«      }t        j                  ||«       y )Nr   r   r   r   r   r9  rŒ   gÿ••&¥ æ?rÞ   )rá   râ   )r   r   )r   r   ©r   rZ   r“   r¯   r   )r   ra   r3   Úsemr'   r˜   r   r°   rh   rB   rl   )r4   r¡   rZ  r›   rG   rF   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‘,¤b§f¡f¨g´r·v±v¸wÈÐ%PÑQÜ×(Ñ(ÚBÈ3ÐPTÈ+ôô
ˆð —=‘=¨�=Ó-ˆÜ
×Ñ˜f hÕ/r   )ÚrollingsÚkeyró   r   Nrk   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®   rk   r   z values must not have NaTr-   r   )Ú60min)
r   r
   r'   r˜   r—   r0   r1   Ú
ValueErrorr3   r<   )r4   r`  ra  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ñ 	9Ø#ˆB�J‰J�s‹O×#Ñ#Ñ8¨xÒ8÷	9÷ 	9ñ 	9ús   Á""BÂBrY   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©Úval1rh  Úval2©rŽ   r�   r“   rÎ   r¯   rŽ   r�   rX   r   )r©   rÃ   rõ   )©rh  rh  rh  rh  rk  )ri  ri  ri  ri  )rŽ   r�   rŽ   r�   )	r   ri   r   r3   r<   r=   r°   rB   rC   )r4   rY   Úarraysrk   ÚsrG   rF   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 )Nrg  rj  r“   )r   r   r   r   r%   r¯   rŽ   r   r   r   )rÆ   r©   rÃ   )©rh  r   rh  rh  rp  )ri  r   ri  ri  )rŽ   r   rŽ   r�   )
r   ri   r   rj   r3   r<   r=   r°   rB   rl   ©r4   rl  rk   r›   rG   rF   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   rZ   rÞ   r   r   )rÐ   rÒ   )r   rZ   )r   r’   rÚ   r	  )r   rŒ   )r   rß   r“   )r   r'   r(   r3   r<   r=   r   r°   rB   Úassert_index_equalrk   ©r4   r›   rG   rn   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 )Ng      (@r   r   r’   ©r   r   r   rZ   r   r®   r   r   ))r   r   r   )r   r   rZ   )r   r   r#   )r   r   r   )r   r   r’   )r   r   r‹   )r   r   r   )r   r   rŒ   )r   r   rà   )r   rZ   r   )r   rZ   rß   )r   rZ   rÝ   )r   r   Nr“   )r   r'   r(   r3   r<   rR   r   r°   rB   rt  rk   ru  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   rZ   rx  r®   r   T)Úappendr   r   ))r   r   r   rÎ   )r   rZ   r   )r   r’   r   )r   r   r   )r   r   rZ   )r   rŒ   r   )r   rß   rZ   )r   Nr   r“   Úequiv)Úexact)r   r'   r(   r—   r3   r<   r=   r   r°   rB   rt  rk   ru  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¬«      }d}t        j                  t        |¬«      5  |j	                  d„ «      j
                  }d d d «       |j                  d¬«      }d}t        j                  t        |¬«      5  |j	                  d	„ «      j
                  }d d d «       t        j                  «       y # 1 sw Y   ŒtxY w# 1 sw Y   Œ,xY w)
Nr   FrX   r]   r-   c                 ó@   — | j                  d«      j                  «       S r_   ©r<   rR   r>   s    r   r@   zUTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply.<locals>.<lambda>  s   € ¨¯©°1«×)9Ñ)9Ó);€ r   rZ   r[   c                 ó@   — | j                  d«      j                  «       S r_   r�  r>   s    r   r@   zUTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply.<locals>.<lambda>!  s   €  q§y¡y°£|×'7Ñ'7Ó'9€ r   )r3   rB   rf   rg   rA   rk   r<   rt  )r4   r)   rD   r5   rF   Ú_rG   s          r   Ú7test_groupby_rolling_object_doesnt_affect_groupby_applyzCTestRolling.test_groupby_rolling_object_doesnt_affect_groupby_apply  s¿   € à×Ñ˜s¨uÐÓ5ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	CØ—w‘wÑ;Ó<×BÑBˆH÷	Cà�I‰I˜QˆIÓˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	AØ—W‘WÑ9Ó:×@Ñ@ˆF÷	Aä
×Ñ˜f hÕ/÷	Cð 	Cú÷	Að 	Aús   ±CÂCÃC
ÃC)r\   rK   r  rF   r   r(  )NrÆ   r©   r©   NrÆ   r©   r©   )NNr©   r©   NNr©   r©   rZ   )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   rZ   rŒ   r’   rß   r#   )r   r   r   r   r   r   r   r   )r\   rK   r  r   r:  r  r   r   )r   r   r   r   rZ   rŒ   r’   rß   )r   r   r   r   r   r   r   r   )r   r   rZ   r’   r   r   rŒ   rß   )ÚlevelsÚcodesr¯   )	r   r3   r<   rr   r'   rO  r   rB   rl   )r4   r\   rK   r  rF   r›   rG   Ú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#   r9  r   T)ÚdeeprZ   )	r   r3   Úobjr  r<   rR   r–   rB   rl   )r4   r–   r›   rD   Úoriginal_objrN   rG   s          r   Útest_by_column_not_in_valuesz(TestRolling.test_by_column_not_in_values=  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   ri   r   r3   r<   rR   r   r'   r˜   r°   rB   rC   rq  s         r   Útest_groupby_levelzTestRolling.test_groupby_levelJ  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™  r9  r&  rV  rW  F)Úas_indexr   r   r  rÏ   )r   r   r   r   r¯   )r   Úastyper—   ra   r3   r<   r=   Úupdaterk   rB   rl   )
r4   r9   r�   rT  rò   r›   ÚattrÚgp_byrG   rF   s
             r   Útest_as_index_falsezTestRolling.test_as_index_falseb  s  € ò* 'Ú&Ú&Ú&ð	
ˆô �tÒ%:Ô;ˆØ˜‘Z×&Ñ&¨¨T¨F°! }Ó5ˆˆ6‰
Ø�\‰\˜6˜(Ó#ˆà/1Ö2 t”˜˜TÕ"Ð2ˆÐ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)rk   Úadl2rk   rª  r‹   r  iç  )r  rÔ   rø   )r'   r  ÚtypeÚrepeatr˜   r   r—   r3   r<   r=   r   r   ri   r   rB   rC   )
r4   Úany_int_numpy_dtypeÚtypÚsizeÚidxÚvalÚarrr›   rG   rF   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   é*   )Útr?   r   z.* must be monotonicr-   r   r¶  Ú3s)ró   r\   )r   r   r0   r1   rd  r3   r<   )r4   ÚshuffledÚsecr?   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ñ 	9Ø�J‰J�s‹O×#Ñ# s°4Ð#Ô8÷	9ð 	9ùò S÷	9ð 	9ú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«      }d}t        j                  t
        |¬«      5  |j                  d«      j                  d«      j                  d„ «      }d d d «       |j                  d«      j                  dd¬«      d   j                  «       }t        j                  |«       y # 1 sw Y   ŒSxY w)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]   r-   rÔ   c                 óF   — | j                  d«      d   j                  «       S )NÚ180DrÂ  r�  r>   s    r   r@   z4TestRolling.test_groupby_monotonic.<locals>.<lambda>Ö  s   €  §¡¨6Ó!2°8Ñ!<×!@Ñ!@Ó!B€ r   rÄ  rF  rÂ  )r   r
   Úsort_valuesrB   rf   rg   r—   r3   rA   r<   rR   rC   )r4   rò   r›   r5   rF   rG   s         r   Útest_groupby_monotonicz"TestRolling.test_groupby_monotonic¹  sæ   € ò 'Ú&Ú&Ú&Ú%Ú&Ú%Ú$Ú$Ú%ð
ˆô ˜DÒ*DÔEˆÜ   F¡Ó,ˆˆ6‰
Ø�^‰^˜FÓ#ˆàGˆÜ×'Ñ'Ô(:À#ÔFñ 	à—‘˜VÓ$ß‘˜“ß‘ÑBÓCð ÷	ð —‘˜FÓ#×+Ñ+¨F°vÐ+Ó>¸xÑH×LÑLÓNˆÜ
×Ñ˜v xÕ0÷	ð 	ús   Á/1C2Ã2C;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œ«      }d}t        j                  t        |¬«      5  |j                  d«      j                  d«      j                  d„ «      }d d d «       |j                  d«      j                  dd¬«      j                  j                  «       }t        j                  |«       y # 1 sw Y   ŒZxY w)Nz2016-01-01 09:30:00r!   rm  )r  rS  Úfreqr   r   r"   r   r#   r$   r   r]   r-   r   r   c                 óF   — | j                  d«      d   j                  «       S )NÚ4sr   r;   r>   s    r   r@   zJTestRolling.test_datelike_on_monotonic_within_each_group.<locals>.<lambda>ï  s   €  §¡¨4£°Ñ!5×!:Ñ!:Ó!<€ r   rÊ  rF  )r	   r   r'   Úconcatenater(   rB   rf   rg   r—   r3   rA   r<   r   r=   rC   )r4   Údatesr›   r5   rF   rG   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“]ñó
ˆð HˆÜ×'Ñ'Ô(:À#ÔFñ 	à—‘˜SÓ!ß‘˜“ß‘Ñ<Ó=ð ÷	ð —‘˜C“×(Ñ(¨°#Ð(Ó6×8Ñ8×=Ñ=Ó?ˆÜ
×Ñ˜v xÕ0÷	ð 	ús   Á51C?Ã?D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å  r?  r’   r   z&Each group within B must be monotonic.r-   r   Ú365Dr   rF  )r   r   rj   r0   r1   rd  r3   r<   )r4   Ú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°”i  a¨Õ+ÒKÈaÑOÜ˜1“Xñó
ˆô �]‰]œ:Ð-UÔVñ 	4Ø�J‰J�s‹O×#Ñ# F¨sÐ#Ô3÷	4ð 	4ùò	 L÷	4ð 	4ús   –B
Á#BÂB)3r  r  r  r6   rH   rO   r0   ÚmarkÚparametrizero   rw   r†   rž   r£   r¨   r³   rÀ   rÅ   r×   rì   rù   r  r
  r  r.  r0  r6  r=  rL  rP  rY  r_  re  rn  rr  rv  ry  r~  r„  rŠ  r   r°   r�  r˜  r   r¦  r³  rº  rÆ  rÍ  rÑ  r   r   r   r+   r+   1   s   „ ò+ò
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1ð< ‡[�[×Ñ˜V e¨U ^Ó4ñ1ó 5ð1ò(0ò60ò:0ò"&1ðP ‡[�[×ÑØØ
 °!Ñ4Ð	5¸ÀRÐ7HÐ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òD1ó2
4r   r+   c                   óV  — 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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&   )r4   s    r   ÚframezTestExpanding.frame  s6   € ä ˜s R™x¨1¨#°©(Ñ2°a°S¸1±WÑ<Ä2Ç9Á9ÈRÃ=ÑQÓRÐRr   rP   rQ   c                 ó   ‡— |j                  dd¬«      }|j                  «       } t        |‰«      «       }d}t        j                  t
        |¬«      5  |j                  ˆfd„«      }d d d «       j                  dd¬«      }t        j                  |d   t        d	«      g«      }||_        t        j                  ||«       y # 1 sw Y   Œ]xY w)
Nr   FrX   r]   r-   c                 óB   •—  t        | j                  «       ‰«      «       S r¶   ©ra   r[  rb   s    €r   r@   z.TestExpanding.test_expanding.<locals>.<lambda>  s   ø€ Ð)B¬°·±³ÀÓ)BÓ)D€ r   r   rc   r$   ©r3   r[  ra   rB   rf   rg   rA   rh   r   ri   rj   rk   rl   ©	r4   rP   r×  rD   rN   rG   r5   rF   rn   s	    `       r   Útest_expandingzTestExpanding.test_expanding  s·   ø€ ð �M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆà”˜˜A““ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	FØ—w‘wÓDÓEˆH÷	Fð —=‘= ¨1�=Ó-ˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	Fð 	Fús   ÁCÃCrq   rr   c                 ó¤  ‡— |j                  dd¬«      }|j                  «       } t        |‰«      d¬«      }d}t        j                  t
        |¬«      5  |j                  ˆfd„«      }d d d «       j                  dd	¬
«      }t        j                  |d   t        d«      g«      }||_        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   FrX   r   rt   r]   r-   c                 óF   •—  t        | j                  «       ‰«      d¬«      S )Nr   rt   rÚ  rb   s    €r   r@   z3TestExpanding.test_expanding_ddof.<locals>.<lambda>   s   ø€ Ð)B¬°·±³ÀÓ)BÈÔ)J€ r   r   rc   r$   rÛ  rÜ  s	    `       r   Útest_expanding_ddofz!TestExpanding.test_expanding_ddof  s¸   ø€ à�M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆà”˜˜A“ AÔ&ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	LØ—w‘wÓJÓKˆH÷	Lð —=‘= ¨1�=Ó-ˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	Lð 	Lúrp   ry   rz   c                 ó¤  ‡— |j                  dd¬«      }|j                  «       }|j                  d‰¬«      }d}t        j                  t
        |¬«      5  |j                  ˆfd„«      }d d d «       j                  dd	¬
«      }t        j                  |d   t        d«      g«      }||_        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   FrX   r�   r‚   r]   r-   c                 óF   •— | j                  «       j                  d‰¬«      S )Nr�   r‚   )r[  r„   r…   s    €r   r@   z7TestExpanding.test_expanding_quantile.<locals>.<lambda>3  s   ø€ ˜!Ÿ+™+›-×0Ñ0°ÀMÐ0ÓR€ r   r   rc   r$   )r3   r[  r„   rB   rf   rg   rA   rh   r   ri   rj   rk   rl   )	r4   ry   r×  rD   rN   rG   r5   rF   rn   s	    `       r   Útest_expanding_quantilez%TestExpanding.test_expanding_quantile(  s¸   ø€ ð �M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆà—‘˜C¨}�Ó=ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	Ø—w‘wÛRóˆH÷	ð
 —=‘= ¨1�=Ó-ˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	ð 	úrp   r‡   rˆ   c                 óÜ  ‡‡— ‰j                  d«      }|j                  «       } t        |‰«      ‰«      }ˆˆfd„}d}t        j                  t
        |¬«      5  |j                  |«      }d d d «       t        t        dd«      «      t        t        dd«      «      z   }	t        j                  j                  |	d	f<   t        j                  |d<   t        j                  ||«        t        |j                  ‰«      d
¬«      }ˆfd„}
d}t        j                  t
        |¬«      5  |j                  |
«      }d d d «       t        j                  ||«       y # 1 sw Y   ŒìxY w# 1 sw Y   Œ,xY w)Nr   c                 óD   •—  t        | j                  «       ‰«      ‰«      S r¶   rÚ  )r?   rP   r×  s    €€r   Úfunc_0z5TestExpanding.test_expanding_corr_cov.<locals>.func_0C  s   ø€ Ø,”7˜1Ÿ;™;›=¨!Ó,¨UÓ3Ð3r   r]   r-   r!   é=   éH   éq   r   Tr¥   c                 óZ   •—  t        | j                  j                  «       ‰«      d¬«      S )NTr¥   )ra   r   r[  rb   s    €r   Úfunc_1z5TestExpanding.test_expanding_corr_cov.<locals>.func_1T  s!   ø€ Ø.”7˜1Ÿ3™3Ÿ=™=›?¨AÓ.¸Ô=Ð=r   )r3   r[  ra   rB   rf   rg   rA   r™   rj   r'   r˜   Úilocrl   r   rC   )r4   rP   r×  rD   rN   rG   ræ  r5   rF   Únull_idxrë  s    ``        r   Útest_expanding_corr_covz%TestExpanding.test_expanding_corr_cov<  s+  ù€ à�M‰M˜#ÓˆØ�K‰K‹Mˆà”˜˜A“˜uÓ%ˆõ	4ð HˆÜ×'Ñ'Ô(:À#ÔFñ 	'Ø—w‘w˜v“ˆH÷	'ô œ˜b "›Ó&¬¬e°B¸«nÓ)=Ñ=ˆÜ%'§V¡Vˆ�‰�h �kÑ"ô Ÿ™ˆ�‰Ü
×Ñ˜f hÔ/à ”˜Ÿ™˜a“¨$Ô/ˆô	>ð HˆÜ×'Ñ'Ô(:À#ÔFñ 	'Ø—w‘w˜v“ˆH÷	'ä
×Ñ˜v xÕ0÷'	'ð 	'ú÷"	'ð 	'ús   ÁEÄ%E"ÅEÅ"E+c                 ó¦  ‡— |j                  dd¬«      }|j                  «       }|j                  d„ ‰¬«      }d}t        j                  t
        |¬«      5  |j                  ˆfd„«      }d d d «       j                  dd	¬
«      }t        j                  |d   t        d«      g«      }||_
        t        j                  ||«       y # 1 sw Y   Œ]xY w)Nr   FrX   c                 ó"   — | j                  «       S r¶   r·   r>   s    r   r@   z4TestExpanding.test_expanding_apply.<locals>.<lambda>a  r¸   r   r¹   r]   r-   c                 óH   •— | j                  «       j                  d„ ‰¬«      S )Nc                 ó"   — | j                  «       S r¶   r·   r½   s    r   r@   zFTestExpanding.test_expanding_apply.<locals>.<lambda>.<locals>.<lambda>e  s   € ¸¿¹»€ r   r¹   )r[  rA   r¿   s    €r   r@   z4TestExpanding.test_expanding_apply.<locals>.<lambda>e  s   ø€ ˜!Ÿ+™+›-×-Ñ-Ñ.?ÀSÐ-ÓI€ r   r   rc   r$   )r3   r[  rA   rB   rf   rg   rh   r   ri   rj   rk   rl   )	r4   rº   r×  rD   rN   rG   r5   rF   rn   s	    `       r   Útest_expanding_applyz"TestExpanding.test_expanding_apply\  s¹   ø€ Ø�M‰M˜#¨%ˆMÓ0ˆØ�K‰K‹Mˆð —‘Ñ*°�Ó4ˆØGˆÜ×'Ñ'Ô(:À#ÔFñ 	Ø—w‘wÛIóˆH÷	ð
 —=‘= ¨1�=Ó-ˆä#×/Ñ/°°s±¼UÀ2»YÐ0GÓHˆØ'ˆŒÜ
×Ñ˜f hÕ/÷	ð 	ús   ÁCÃCN)r  r  r  r0   Úfixturer×  rÒ  rÓ  rÝ  rà  rã  rî  ró  r   r   r   rÕ  rÕ    sÃ   „ Ø‡^�^ñSó ðSð ‡[�[×ÑØÒCóñ0óð0ð ‡[�[×Ñ˜S 5¨% .Ó1ñ0ó 2ð0ð ‡[�[×ÑØÒMóñ0óð0ð" ‡[�[×Ñ˜S 6¨5 /Ó2ñ1ó 3ð1ó>0r   rÕ  c            
       ó8  — 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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""""""@rq   g»¹øÛž æ?g¦€´ÿÖî?gët ë©Õò?rr   r‰   gnÛ¶mÛ¶í?g¾â+¾â+ö?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   rZ   r%   r   r©   ©Úcomr   )rá   râ   rã   rä   r“   r¯   )	r   rj   ra   r3   Úewmr   r°   rB   rl   ©r4   Úmethodr�   r›   rG   rF   s         r   Útest_methodszTestEWM.test_methodsp  s„   € ô ˜c˜U Q™Y¬U°1«XÑ6Ó7ˆØ>”˜Ÿ™ C›×,Ñ,°Ð,Ó5°vÓ>Ó@ˆÜØ�-Ð Ü×(Ñ(òð ˜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   rZ   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ø  )ra   rú  )r?   rü  s    €r   r@   z/TestEWM.test_pairwise_methods.<locals>.<lambda>¡  s   ø€ Ð5”g˜aŸe™e¨˜e›n¨fÓ5Ó7€ r   )
r   rj   ra   r3   rú  r   r°   rB   rl   rA   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   r]  rè   )r   r   )r   rŒ   )r   r#   r“   r¯   )	Úpopr3   rú  r=   r   r   r°   rB   rl   )r4   r   r  r  rG   rF   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  )r  r3   rú  r=   ÚvaluesrB   rl   )r4   r   r  r  rñ   rG   rF   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)rS  rÈ  )rÏ   Ú	timestampr¾   rÏ   Ú1hr  rF  r©   )r  r¾   r“   r¯   r¾   rÓ   )r   r	   rj   r3   r<   rM   r   ri   r™   rB   rl   r   rC   )r4   r›   ÚgrprG   Ú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  r0   rÒ  rÓ  r'   r˜   rý  r   r  r
  r  r   r   r   rö  rö  o  sÂ   „ Ø‡[�[×ÑØàÒVÐWØ�R—V‘V˜X x°Ð:Ð;Ø�R—V‘V˜SÐ"4Ð6HÐIÐJð	
óñ0óð0ð$ ‡[�[×ÑØØ
�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  ©rZ   rŒ   r’   rÞ   r   r   ©rœ   ))r  r   )r  r   )r  r   r“   r©   r¯   ©
r   r3   r<   r‡   r   r°   r'   r˜   rB   rl   ©r›   rñ   rG   rk   rF   s        r   Ú.test_rolling_corr_with_single_integer_in_indexr  ý  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   r  ))rÒ   r   )rÒ   r   )rÒ   r   r“   r©   r¯   r  r  s        r   Ú&test_rolling_corr_with_tuples_in_indexr  	  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'   r0   Úpandasr   r   r   r   r   r   r	   r
   Úpandas._testingÚ_testingrB   Ú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÷M4ñ M4÷`k0ñ k0÷\K3ñ K3ò\	,ó,r   