Ë
    ¤eh=.  ã                   óV  — d dl m Z  d dlmZ d dlZd dlZd dlZd dl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d„ Zd	„ Zd
„ Zd„ Zej2                  j5                  d e	ddg«       e	ddg«       e	ddg«      ej6                  j9                  ddgddgg«      g«      d„ «       Zd„ Zd„ Zej2                  jA                  d¬«      d„ «       Z!ej2                  j5                  ddi d fddd id fdddiejD                  fdi dfddd idfdddiejD                  fg«      d„ «       Z#ej2                  j5                  ddejD                  fd ejD                  fd!d"d#g«      d$„ «       Z$d%„ Z%d&„ Z&ej2                  j5                  d'di g d(¢fddd ig d(¢fdddidejD                  dgfdddiejD                  ejD                  ejD                  gfdi g d)¢fddd ig d)¢fdddidejD                  dgfdddiejD                  ejD                  ejD                  gfg«      d*„ «       Z'd+„ Z(y),é    )Údatetime)ÚmethodcallerN)Ú	DataFrameÚIndexÚSeriesÚ	Timestamp)ÚGrouper)Ú
date_rangec                  óŠ   — t        t        j                  j                  d«      j	                  d«      t        dd¬«      ¬«      S )Né   éè  z1/1/2000©Úperiods©Úindex)r   ÚnpÚrandomÚdefault_rngÚstandard_normalr
   © ó    úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/resample/test_time_grouper.pyÚtest_seriesr      s6   € äÜ
�	‰	×Ñ˜aÓ ×0Ñ0°Ó6Ü˜¨TÔ2ôð r   c                 óX  — t        ddd¬«      }| j                  |«      }d„ }|j                  |«      }| j                  d„ «      j                  |«      }|j                  j	                  d«      |_        |j                  j	                  d«      |_        t        j                  ||«       y )NÚYEÚright©ÚfreqÚlabelÚclosedc                 ó(   — | j                  «       dd  S )Néýÿÿÿ)Úsort_values©Úxs    r   Úfztest_apply.<locals>.f    s   € Ø�}‰}‹˜r˜sÐ#Ð#r   c                 ó   — | j                   S ©N©Úyearr$   s    r   ú<lambda>ztest_apply.<locals>.<lambda>$   ó
   € ¨Q¯V©V€ r   r   )r	   ÚgroupbyÚapplyr   Ú	droplevelÚtmÚassert_series_equal)r   ÚgrouperÚgroupedr&   ÚappliedÚexpecteds         r   Ú
test_applyr6      s�   € Ü˜4 w°wÔ?€Gà×!Ñ! 'Ó*€Gò$ð �m‰m˜AÓ€GØ×"Ñ"Ñ#3Ó4×:Ñ:¸1Ó=€Hà—M‘M×+Ñ+¨AÓ.€G„MØ—^‘^×-Ñ-¨aÓ0€H„NÜ×Ñ˜7 HÕ-r   c                 ó¤  — t         j                  | d d d…<   | j                  d„ «      j                  «       }t	        ddd¬«      }| j                  |«      j                  «       }|j
                  |_        t        j                  ||«       | j                  d«      j                  «       }|j
                  |_        t        j                  ||«       y )Né   c                 ó   — | j                   S r(   r)   r$   s    r   r+   ztest_count.<locals>.<lambda>.   r,   r   r   r   r   )	r   Únanr-   Úcountr	   r   r0   r1   Úresample)r   r5   r2   Úresults       r   Ú
test_countr>   +   s¤   € Ü—v‘v€K‘�!�Ñà×"Ñ"Ñ#3Ó4×:Ñ:Ó<€Hä˜4 w°wÔ?€GØ× Ñ  Ó)×/Ñ/Ó1€FØ—\‘\€H„NÜ×Ñ˜6 8Ô,à×!Ñ! $Ó'×-Ñ-Ó/€FØ—\‘\€H„NÜ×Ñ˜6 8Õ,r   c                 óV  — | j                  dd¬«      j                  «       }d}t        j                  t        |¬«      5  | j                  d„ «      j                  t        j                  «      }d d d «       |j                  _        t        j                  ||«       y # 1 sw Y   Œ1xY w)Nr   r   )r    zusing SeriesGroupBy.prod©Úmatchc                 ó   — | j                   S r(   r)   r$   s    r   r+   z&test_numpy_reduction.<locals>.<lambda>?   s
   € °·±€ r   )
r<   Úprodr0   Úassert_produces_warningÚFutureWarningr-   Úaggr   r   r1   )r   r=   Úmsgr5   s       r   Útest_numpy_reductionrH   :   s‰   € Ø×!Ñ! $¨wÐ!Ó7×<Ñ<Ó>€Fà
$€CÜ	×	#Ñ	#¤M¸Ô	=ñ FØ×&Ñ&Ñ'7Ó8×<Ñ<¼R¿W¹WÓEˆ÷Fà—\‘\€H„Nä×Ñ˜6 8Õ,÷	Fð Fús   ¿0BÂB(c                  ó&  — d} t        dd| ¬«      }t        dddœ|¬«      }t        d	¬
«      }|j                  |«      \  }}|j	                  |d¬«      }d„ }|j                  |«      }t        j                  |j                  |j                  «       y )Nr   ú
2000-01-01ÚD)Ústartr   r   é   r   )ÚopenÚcloser   ÚME©r   F)Ú
group_keysc                 ó   — | d   | d   z  S )NrO   rN   r   )Údfs    r   r&   ztest_apply_iteration.<locals>.fQ   s   € Ø�'‰{˜R ™ZÑ'Ð'r   )	r
   r   r	   Ú_get_grouperr-   r.   r0   Úassert_index_equalr   )	ÚNÚindrT   Útgr2   Ú_r3   r&   r=   s	            r   Útest_apply_iterationr[   E   sƒ   € à€AÜ
˜<¨c¸1Ô
=€CÜ	˜A¨Ñ*°#Ô	6€BÜ	�dÔ	€Bà—‘ Ó$�J€GˆQð �j‰j˜¨UˆjÓ3€Gò(ð �]‰]˜1Ó€FÜ×Ñ˜&Ÿ,™,¨¯©Õ1r   r   rM   r   ÚaÚbgš™™™™™ñ?gš™™™™™@c                 ó  — t        | «      j                  }t        dt        t	        | «      «      i| ¬«      }d|› d�}t        j                  t        |¬«      5  |j                  t        d¬«      «       d d d «       y # 1 sw Y   y xY w)Nr\   r   zVOnly valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'ú'r@   rK   rQ   )
ÚtypeÚ__name__r   ÚrangeÚlenÚpytestÚraisesÚ	TypeErrorr-   r	   )r   ÚnamerT   rG   s       r   Útest_fails_on_no_datetime_indexrh   Y   sy   € ô �‹;×Ñ€DÜ	�Cœœs 5›zÓ*Ð+°5Ô	9€Bð	3Ø37°&¸ð	;ð ô 
�‰”y¨Ô	,ñ &Ø
�
‰
”7 Ô$Ô%÷&÷ &ñ &ús   ÁA=Á=Bc            	      ób  — d} t         j                  j                  d«      j                  | df«      }t	        |g d¢¬«      }t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd	«      gdz  |d
<   |j                  t        d
d¬«      «      }t        j                  |j                  t        ddd«      «      |d d d	…   «       t        j                  |j                  t        ddd«      «      |dd d	…   «       t        j                  |j                  t        ddd«      «      |dd d	…   «       t        j                  |j                  t        ddd«      «      |dd d	…   «       t        j                  |j                  t        ddd	«      «      |dd d	…   «       y )Né   r   é   ©ÚAÚBÚCrK   ©ÚcolumnséÝ  rM   r8   é   ÚkeyrK   ©rt   r   )r   r   r   r   r   r   r-   r	   r0   Úassert_frame_equalÚ	get_group)ÚnÚdatarT   r3   s       r   Útest_aaa_group_orderrz   n   s…  € ð 	€AÜ�9‰9× Ñ  Ó#×3Ñ3°Q¸°FÓ;€DÜ	�4Ò!5Ô	6€Bä��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!Óðð 	
ñ
€B€u�Ið �j‰jœ U°Ô5Ó6€Gä×Ñ˜'×+Ñ+¬H°T¸1¸aÓ,@ÓAÀ2ÁcÈÀcÁ7ÔKÜ×Ñ˜'×+Ñ+¬H°T¸1¸aÓ,@ÓAÀ2ÀaÀdÈÀdÁ8ÔLÜ×Ñ˜'×+Ñ+¬H°T¸1¸aÓ,@ÓAÀ2ÀaÀdÈÀdÁ8ÔLÜ×Ñ˜'×+Ñ+¬H°T¸1¸aÓ,@ÓAÀ2ÀaÀdÈÀdÁ8ÔLÜ×Ñ˜'×+Ñ+¬H°T¸1¸aÓ,@ÓAÀ2ÀaÀdÈÀdÁ8ÕLr   c                 ó@  — t         j                  j                  d«      j                  d«      }t	        |g d¢¬«      }g d¢dz  |d<   t	        |g d¢¬«      }t        t        dd	d	«      t        dd	d«      t        dd	d
«      t        dd	d«      t        dd	d«      gdz  d¬«      |d<   |j                  d«      }|j                  t        dd¬«      «      } t        || «      «       } t        || «      «       }t        dddd¬«      |_        t        j                  ||«       y)ú?Check TimeGrouper's aggregation is identical as normal groupby.r   ©rj   rk   rl   rp   ©rM   r   r8   rk   rs   rk   rt   rr   rM   r8   rs   úM8[ns]©ÚdtyperK   ru   ú
2013-01-01©rL   r   r   rg   N)r   r   r   r   r   r   r   r-   r	   Úgetattrr
   r   r0   Úassert_equal)Úresample_methodry   Ú	normal_dfÚdt_dfÚnormal_groupedÚ
dt_groupedr5   Ú	dt_results           r   Útest_aggregate_normalrŒ   „   s  € ô �9‰9× Ñ  Ó#×3Ñ3°GÓ<€DÜ˜$Ò(<Ô=€IÚ&¨Ñ*€IˆeÑä�dÒ$8Ô9€EÜä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ ð	
ð ñ	ð ô
€Eˆ%�Lð ×&Ñ& uÓ-€NØ—‘œw¨5°sÔ;Ó<€Jà7Œw�~ Ó7Ó9€HØ4”˜
 OÓ4Ó6€IÜ l¸ÀaÈeÔT€H„NÜ‡O�O�H˜iÕ(r   z7if TimeGrouper is used included, 'nth' doesn't work yet)Úreasonc            	      ó*  — t         j                  j                  d«      j                  d«      } t	        | g d¢¬«      }g d¢dz  |d<   t	        | g d¢¬«      }t        dd	d	«      t        dd	d«      t        dd	d
«      t        dd	d«      t        dd	d«      gdz  |d<   |j                  d«      }|j                  t        dd¬«      «      }|j                  d
«      }t        dddd¬«      |_
        |j                  d
«      }t        j                  ||«       y)r|   r   r}   rl   rp   r~   rk   rt   rr   rM   r8   rs   rK   ru   r‚   rƒ   N)r   r   r   r   r   r   r-   r	   Únthr
   r   r0   rv   )ry   r‡   rˆ   r‰   rŠ   r5   r‹   s          r   Útest_aggregate_nthr�   ¡   s  € ô �9‰9× Ñ  Ó#×3Ñ3°GÓ<€DÜ˜$Ò(<Ô=€IÚ&¨Ñ*€IˆeÑä�dÒ$8Ô9€Eä��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!Óðð 	
ñ
€Eˆ%�Lð ×&Ñ& uÓ-€NØ—‘œw¨5°sÔ;Ó<€Jà×!Ñ! !Ó$€HÜ l¸ÀaÈeÔT€H„NØ—‘˜qÓ!€IÜ×Ñ˜( IÕ.r   zmethod, method_args, unitÚsumÚ	min_countrC   c                 ó&  — t        dgdz  t        j                  gdz  z   t        dd¬«      ¬«      } t	        | fi |¤Ž|j                  d«      «      }t        j                  dd	gd
d¬«      }t        d|g|¬«      }t        j                  ||«       y )Nr   r   Ú2017rk   r   r   Ú2dz
2017-01-01z
2017-01-03r   Ú2D©r�   r   g        )
r   r   r:   r
   r   r<   ÚpdÚDatetimeIndexr0   r1   )ÚmethodÚmethod_argsÚunitÚserr=   Úexp_dtir5   s          r   Ú!test_resample_entirely_nat_windowrŸ   »   s…   € ô �!��q‘œBŸF™F˜8 a™<Ñ'¬z¸&È!Ô/LÔ
M€CØ0Œ\˜&Ñ0 KÑ0°·±¸dÓ1CÓD€Fä×Ñ ¨lÐ;À8ÐRVÔW€GÜ�s˜D�k¨Ô1€HÜ×Ñ˜6 8Õ,r   zfunc, fill_valueÚminÚmax)r‘   r   )rC   rM   )r;   r   c                 ó�  — d}t         j                  j                  d«      j                  |df«      j	                  d«      }t        |g d¢¬«      }ddt         j                  ddgdz  |d	<   t        |g d¢¬«      }t        t        d
dd«      t        d
dd«      t        j                  t        d
dd«      t        d
dd«      gdz  d¬«      |d	<   |j                  d	«      }|j                  t        d	d¬«      «      } t        || «      «       } t        || «      «       }	t        |gdz  gdgg d¢¬«      }
t        j                  ||
g«      }|j                  «       }t!        dddd	|d	   j"                  j$                  ¬«      }|j'                  d «      |_        t+        j,                  ||	«       |	j(                  j.                  d	k(  sJ ‚y )Nrj   r   rk   Úint64rl   rp   rM   rs   rt   rr   r   r€   rK   ru   r8   )r   rq   r‚   ©rL   r   r   rg   rœ   )r   r   r   r   Úastyper   r:   r   r   r˜   ÚNaTr-   r	   r„   ÚconcatÚ
sort_indexr
   Ú_valuesrœ   Ú
_with_freqr   r0   rv   rg   )ÚfuncÚ
fill_valuerx   ry   r‡   rˆ   r‰   rŠ   Únormal_resultr‹   Úpadr5   Údtis                r   Útest_aggregate_with_natr°   Ï   s°  € ð 	€AÜ�9‰9× Ñ  Ó#×3Ñ3°Q¸°FÓ;×BÑBÀ7ÓK€DÜ˜$Ò(<Ô=€IØ˜1œbŸf™f a¨Ð+¨aÑ/€IˆeÑä�dÒ$8Ô9€EÜä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�F‰FÜ�T˜1˜aÓ Ü�T˜1˜aÓ ð	
ð ñ	ð ô
€Eˆ%�Lð ×&Ñ& uÓ-€NØ—‘œw¨5°sÔ;Ó<€Jà1”G˜N¨DÓ1Ó3€MØ)”˜
 DÓ)Ó+€Iä
�j�\ AÑ%Ð&¨q¨cÒ;OÔ
P€CÜ�y‰y˜-¨Ð-Ó.€HØ×"Ñ"Ó$€HÜ
ØØØØØ�5‰\×!Ñ!×&Ñ&ô€Cð —^‘^ DÓ)€H„NÜ×Ñ˜( IÔ.Ø�?‰?×Ñ 5Ò(Ð(Ñ(r   c                  óz  — d} t         j                  j                  d«      j                  | df«      j	                  d«      }t        |g d¢¬«      }ddt         j                  ddgdz  |d	<   t        |g d¢¬«      }t        t        d
dd«      t        d
dd«      t        j                  t        d
dd«      t        d
dd«      gdz  d¬«      |d	<   |j                  d	«      }|j                  t        d	d¬«      «      }|j                  «       }|j                  «       }t        dgdg¬«      }t        j                  ||g«      }	|	j!                  «       }	t#        dddd	|d	   j$                  j&                  ¬«      j)                  d «      |	_        t-        j.                  |	|«       |j*                  j0                  d	k(  sJ ‚y )Nrj   r   rk   r£   rl   rp   rM   rs   rt   rr   r   r€   rK   ru   r   r8   r   r‚   r¤   )r   r   r   r   r¥   r   r:   r   r   r˜   r¦   r-   r	   Úsizer   r§   r¨   r
   r©   rœ   rª   r   r0   r1   rg   )
rx   ry   r‡   rˆ   r‰   rŠ   r­   r‹   r®   r5   s
             r   Útest_aggregate_with_nat_sizer³   ÿ   sœ  € à
€AÜ�9‰9× Ñ  Ó#×3Ñ3°Q¸°FÓ;×BÑBÀ7ÓK€DÜ˜$Ò(<Ô=€IØ˜1œbŸf™f a¨Ð+¨aÑ/€IˆeÑä�dÒ$8Ô9€EÜä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�F‰FÜ�T˜1˜aÓ Ü�T˜1˜aÓ ð	
ð ñ	ð ô
€Eˆ%�Lð ×&Ñ& uÓ-€NØ—‘œw¨5°sÔ;Ó<€Jà"×'Ñ'Ó)€MØ—‘Ó!€Iä
�!�˜Q˜CÔ
 €CÜ�y‰y˜-¨Ð-Ó.€HØ×"Ñ"Ó$€HÜØØØØØ�5‰\×!Ñ!×&Ñ&ô÷ �j�Óð „Nô ×Ñ˜8 YÔ/Ø�?‰?×Ñ 5Ò(Ð(Ñ(r   c                  ó‚   — t        t        dd¬«      «      } d}| |k(  sJ ‚t        t        ddd¬«      «      } d}| |k(  sJ ‚y )Nrm   Úhru   zŽTimeGrouper(key='A', freq=<Hour>, axis=0, sort=True, dropna=True, closed='left', label='left', how='mean', convention='e', origin='start_day')rJ   )rt   r   Úoriginz£TimeGrouper(key='A', freq=<Hour>, axis=0, sort=True, dropna=True, closed='left', label='left', how='mean', convention='e', origin=Timestamp('2000-01-01 00:00:00')))Úreprr	   )r=   r5   s     r   Ú	test_reprr¸   '  s[   € ä”'˜c¨Ô,Ó-€Fð	.ð ð
 �XÒÐÐä”'˜c¨°LÔAÓB€Fð	Cð ð
 �XÒÐÑr   z$method, method_args, expected_values)rM   r   rM   )rM   rM   rM   c                 óö   — t        dt        ddd¬«      ¬«      }|j                  d«      }t        j                  g d¢d	d¬
«      } t        | fi |¤Ž|«      }t        ||¬«      }t        j                  ||«       y )NrM   r”   r   rµ   ©r   r   r   Ú30min)z2017-01-01T00:00:00z2017-01-01T00:30:00z2017-01-01T01:00:00r   r—   )r   r
   r<   r˜   r™   r   r0   r1   )rš   r›   Úexpected_valuesr�   Ú	resampledr   r=   r5   s           r   Útest_upsample_sumr¾   :  st   € ô �œ* V°Q¸SÔAÔ
B€CØ—‘˜WÓ%€IÜ×ÑÚMØØô€Eð
 1Œ\˜&Ñ0 KÑ0°Ó;€FÜ�o¨UÔ3€HÜ×Ñ˜6 8Õ,r   c                  ó2  — g d¢g d¢dœ} t        | «      }t        ddd¬«      |d<   d	}t        j                  t        |¬
«      5  |j                  d«      j                  d«      j                  d«      j                  d¬«      }d d d «       dgdz  dgz   }t        t        dd«      «      t        d«      gz   }t        j                  j                  ||gddg¬«      }t        g d¢dgdz  dgz   dœ|¬«      }t        j                  |«       y # 1 sw Y   Œ‹xY w)N)é
   é   é	   )é2   é<   rÃ   )ÚpriceÚvolumez
01/01/2018r8   ÚWrº   Úweek_startingz:DataFrameGroupBy.resample operated on the grouping columnsr@   rÆ   Ú1DÚlinear)rš   rÃ   é   rÄ   z
2018-01-07z
2018-01-21z
2018-01-14)Únames)g      $@g·mÛ¶mÛ#@gnÛ¶mÛ¶#@g%I’$I’#@gÛ¶mÛ¶m#@g’$I’$I#@gI’$I’$#@g      #@g·mÛ¶mÛ"@gnÛ¶mÛ¶"@g%I’$I’"@gÛ¶mÛ¶m"@g’$I’$I"@gI’$I’$"@g      "@g      &@g      I@)ry   r   )r   r
   r0   rD   ÚDeprecationWarningÚ	set_indexr-   r<   ÚinterpolateÚlistr   r˜   Ú
MultiIndexÚfrom_arraysrv   )ÚdrT   rG   r=   rÆ   rÈ   Úexpected_indr5   s           r   Ú!test_groupby_resample_interpolaterÕ   T  s&  € âªÑ6€Aä	�1‹€Bä$ \¸1À3ÔG€B€Ñà
F€CÜ	×	#Ñ	#Ô$6¸cÔ	Bñ 
à�L‰L˜Ó)ß‰W�XÓß‰X�d‹^ß‰[ ˆ[Ó)ð	 	÷
ð ˆT�B‰Y˜"˜Ñ€FÜœ L°,Ó?Ó@Ü�,ÓðDñ €Mô —=‘=×,Ñ,Ø	�ÐØ˜Ð)ð -ó €Lô
 òð$ �f˜r‘k R DÑ(ñ'
ð* ô-€Hô0 ×Ñ˜& (Õ+÷S
ð 
ús   ÁA DÄD))r   Úoperatorr   Únumpyr   rd   Úpandasr˜   r   r   r   r   Úpandas._testingÚ_testingr0   Úpandas.core.groupby.grouperr	   Úpandas.core.indexes.datetimesr
   Úfixturer   r6   r>   rH   r[   ÚmarkÚparametrizerÑ   rÒ   rh   rz   rŒ   Úxfailr�   r:   rŸ   r°   r³   r¸   r¾   rÕ   r   r   r   ú<module>rá      sž  ðÝ Ý !ã Û ã ÷ó õ Ý /Ý 4ð ‡�ñó ðò.ò -ò-ò2ð( ‡�×ÑØáˆq�!ˆf‹Ùˆs�CˆjÓÙˆs�CˆjÓØ
�‰×!Ñ! A q 6¨C°¨:Ð"6Ó7ð	óñ	&óð	&òMò,)ð: ‡�×ÑÐSÐÓTñ/ó Uð/ð2 ‡�×ÑØà	��AˆØ	�˜aÐ  !Ð$Ø	�˜aÐ  "§&¡&Ð)Ø	��QˆØ	�+˜qÐ! 1Ð%Ø	�+˜qÐ! 2§6¡6Ð*ðó
ñ-ó
ð-ð ‡�×ÑØØˆR�V‰V€_�u˜bŸf™f�o z°;ÀÐMóñ))ó	ð))òX%)òPð& ‡�×ÑØ*à	�’IÐØ	�˜aÐ ¢)Ð,Ø	�˜aÐ  1 b§f¡f¨a .Ð1Ø	�˜aÐ  2§6¡6¨2¯6©6°2·6±6Ð":Ð;Ø	�’YÐØ	�+˜qÐ!¢9Ð-Ø	�+˜qÐ! A r§v¡v¨q >Ð2Ø	�+˜qÐ! B§F¡F¨B¯F©F°B·F±FÐ#;Ð<ð	óñ
-óð
-ó2,r   