Ë
    ômxiÂ5  ã            
       ó¦  — d dl m Z  d dlZd dlZd dlmZ d dlZd dl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 d dlmZ d dlmZ d d	lmZ d d
lmZ ed e ddd«       e ddd«      fZed e ddd«       e ddd«      fZedddfZ ejB                  jE                  deee g«      Z#ejH                  d„ «       Z%ejB                  jE                  dddg«      ejB                  jE                  dee g«      d„ «       «       Z&ejB                  jE                  dee g«      d„ «       Z'e#d„ «       Z(d„ Z)e#ejB                  jE                  dg d¢«      d„ «       «       Z*ejB                  jE                  dd dg«      d„ «       Z+e#ejB                  jE                  d ejX                  d ejB                  j[                  d!¬"«      ¬#«      d$d%g«      d&„ «       «       Z.e#ejB                  jE                  dg d¢«      ejB                  jE                  d'd(d)g«      d*„ «       «       «       Z/e#ejB                  jE                  dg d¢«      d+„ «       «       Z0e#ejB                  jE                  dg d¢«      d,„ «       «       Z1e#ejB                  jE                  dg d¢«      d-„ «       «       Z2ejB                  jE                  d. eg d/d0¬1«       e	g d0¬2«       eg d0¬2«      g«      ejB                  jE                  d3e3e4e5d4g«      d5„ «       «       Z6e#ejB                  jE                  dg d¢«      d6„ «       «       Z7e#d7„ «       Z8e#d8„ «       Z9ejB                  jE                  d9d:d;g«      d<„ «       Z:y)=é    )ÚdatetimeN)Úis_extension_array_dtype)Ú	DataFrameÚDatetimeIndexÚ
MultiIndexÚNaTÚPeriodIndexÚSeriesÚTimedeltaIndex)Ú	DataError)ÚGrouper)Ú
date_range)Úperiod_range)Útimedelta_range)Ú_asfreq_compatÚdtiiÕ  é   é
   ÚpiÚtdiz1 dayz10 dayz3_index_factory,_series_name,_index_start,_index_endc                 ó   ‡ — ˆ fd„}|S )Nc                  ó   •—  ‰| i |¤ŽS )z8return the _index_factory created using the args, kwargs© )ÚargsÚkwargsÚ_index_factorys     €úV/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/resample/test_base.pyÚ_create_indexz#create_index.<locals>._create_index,   s   ø€ á˜tÐ. vÑ.Ð.ó    r   )r   r   s   ` r   Úcreate_indexr    *   s   ø€ ô/ð Ðr   ÚfreqÚ2DÚ1hc                 óÞ   — | }|j                  |«      j                  «       } ||j                  d   |j                  d   |¬«      }|j                  |«      }t	        j
                  ||«       y )Nr   éÿÿÿÿ©r!   )ÚresampleÚasfreqÚindexÚreindexÚtmÚassert_almost_equal)Úseries_and_framer!   r    ÚobjÚresultÚ	new_indexÚexpecteds          r   Útest_asfreqr2   3   s\   € ð
 €Cà�\‰\˜$Ó×&Ñ&Ó(€FÙ˜SŸY™Y q™\¨3¯9©9°R©=¸tÔD€IØ�{‰{˜9Ó%€HÜ×Ñ˜6 8Õ,r   c                 ó  — | }|j                  d«      j                  «       } ||j                  d   |j                  d   d¬«      }|j                  |«      }t	        j
                  ||«       |j                  d«      j                  d«      }d |j                  d<   |j                  d«      j                  d¬	«      } ||j                  d   |j                  d   d¬«      }|j                  |d¬	«      }t	        j                  ||«       y )
Nr#   r   r%   r&   ÚfloatÚvaluer   ç      @)Ú
fill_value)
r'   r(   r)   r*   r+   Úassert_series_equalÚastypeÚto_frameÚilocÚassert_frame_equal)Úseriesr    Úserr/   r0   r1   Úframes          r   Útest_asfreq_fill_valuer@   @   sà   € ð €Cà�\‰\˜$Ó×&Ñ&Ó(€FÙ˜SŸY™Y q™\¨3¯9©9°R©=¸tÔD€IØ�{‰{˜9Ó%€HÜ×Ñ˜6 8Ô,ð �J‰J�wÓ×(Ñ(¨Ó1€EØ€E‡J�Jˆq�MØ�^‰^˜DÓ!×(Ñ(°CÐ(Ó8€FÙ˜UŸ[™[¨™^¨U¯[©[¸©_À4ÔH€IØ�}‰}˜Y°3ˆ}Ó7€HÜ×Ñ˜& (Õ+r   c                 óÌ   — | }|j                  d«      j                  «       j                  «       }|j                  d«      j                  «       }t        j                  ||«       y )NÚ1min)r'   r(   Úinterpolater+   r<   )r?   Údfr/   r1   s       r   Útest_resample_interpolaterE   V   sP   € ð 
€BØ�[‰[˜Ó ×'Ñ'Ó)×5Ñ5Ó7€FØ�{‰{˜6Ó"×.Ñ.Ó0€HÜ×Ñ˜& (Õ+r   c                  óž   — t        «       } d}t        j                  t        |¬«      5  | j	                  d«       d d d «       y # 1 sw Y   y xY w)NzaOnly valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'©ÚmatchÚYE)r   ÚpytestÚraisesÚ	TypeErrorr'   )ÚxpÚmsgs     r   Ú%test_raises_on_non_datetimelike_indexrO   _   sD   € ä	‹€Bð	.ð ô 
�‰”y¨Ô	,ñ Ø
�‰�DÔ÷÷ ñ ús   ¨AÁA)ÚMEÚDÚhc                 óT  — |}| dk(  rRt        |j                  t        «      r8d}t        j                  t
        |¬«      5  |j                  | «       d d d «       y | dk(  rt        |j                  t        «      rd} |j                  | «      } t        ||«      «       }|dk(  r_t        g |j                  d d j                  «       g d¢¬«      }t        |j                  | «      |_        t        j                  ||d	¬
«       nC|j                  «       }t        |j                  | «      |_        t        j                  ||d	¬
«       t        j                  |j                  |j                  «       |j                  j                   |j                  j                   k(  sJ ‚y # 1 sw Y   y xY w)NrP   úaResampling on a TimedeltaIndex requires fixed-duration `freq`, e.g. '24h' or '3D', not <MonthEnd>rG   ÚMÚohlcr   ©ÚopenÚhighÚlowÚclose©r)   ÚcolumnsF©Úcheck_dtype)Ú
isinstancer)   r   rJ   rK   Ú
ValueErrorr'   r	   Úgetattrr   Úcopyr   r+   r<   r8   Úassert_index_equalr!   )r!   Úempty_series_dtiÚresample_methodr>   rN   Úrsr/   r1   s           r   Útest_resample_empty_seriesrh   j   sM  € ð
 €CØˆt‚|œ
 3§9¡9¬nÔ=ð1ð 	ô �]‰]œ:¨SÔ1ñ 	Ø�L‰L˜Ô÷	àØ	�Šœ* S§Y¡Y´Ô<àˆØ	�‰�dÓ	€BØ)ŒW�R˜Ó)Ó+€Fà˜&Ò ÜØ�c—i‘i  �m×(Ñ(Ó*Ò4Tô
ˆô (¨¯	©	°4Ó8ˆŒÜ
×Ñ˜f h¸EÖBà—8‘8“:ˆÜ'¨¯	©	°4Ó8ˆŒÜ
×Ñ˜v x¸UÕCä×Ñ˜&Ÿ,™,¨¯©Ô7Ø�<‰<×Ñ §¡× 3Ñ 3Ò3Ð3Ñ3÷+	àús   ¿FÆF'Ú	min_countc                 ó.  — | }t        t        j                  t        g d¢«      |¬«      }|j	                  d«      }|j                  |¬«      }|dk(  rdnt        j                  }t        ddd¬	«      }t        |||¬«      }t        j                  ||«       y )
N)z2000-01-01 00:00:00z2000-01-01 00:00:10z2000-01-01 00:00:20z2000-01-01 00:00:30©r)   ÚdtypeÚ20s)ri   r   Ú z
2000-01-01é   )Ústartr!   Úperiods)	r
   ÚpdÚNAr   r'   Úsumr   r+   r8   )	Ústring_dtype_no_objectri   rl   r>   rg   r/   r5   r)   r1   s	            r   Útest_resample_empty_sum_stringrv   �   s‰   € ð #€EÜ
Ü
�‰Üòó
ð ô€Cð 
�‰�eÓ	€BØ�V‰V˜iˆVÓ(€Fà˜q’.‰B¤b§e¡e€EÜ˜\°¸qÔA€EÜ�e 5°Ô6€HÜ×Ñ˜6 8Õ,r   rP   zDon't know why this fails)Úreason)ÚmarksrQ   rR   c                 óH  — |j                  «       }t        t        gt        |«      z  | ¬«      |_        |j                  | «      } t        ||«      «       }|dk(  rDt        g |j                  d d j                  «       g d¢¬«      }t        j                  ||d¬«       n+|d d j                  «       }t        j                  ||d¬«       t        j                  |j                  |j                  «       |j                  j                  |j                  j                  k(  sJ ‚y )Nr&   rV   r   rW   r\   Fr^   )rc   r	   r   Úlenr)   r'   rb   r   r+   r<   r8   rd   r!   )r!   r=   rf   r>   rg   r/   r1   s          r   Útest_resample_nat_index_seriesr{   ¦   så   € ð �+‰+‹-€CÜœS˜E¤C¨£HÑ,°4Ô8€C„Ià	�‰�dÓ	€BØ)ŒW�R˜Ó)Ó+€Fà˜&Ò ÜØ�c—i‘i  �m×(Ñ(Ó*Ò4Tô
ˆô 	×Ñ˜f h¸EÖBà�r˜�7—<‘<“>ˆÜ
×Ñ˜v x¸UÕCÜ×Ñ˜&Ÿ,™,¨¯©Ô7Ø�<‰<×Ñ §¡× 3Ñ 3Ò3Ð3Ñ3r   rf   ÚcountÚsizec                 óÞ  — |}| dk(  rRt        |j                  t        «      r8d}t        j                  t
        |¬«      5  |j                  | «       d d d «       y | dk(  rt        |j                  t        «      rd} |j                  | «      } t        ||«      «       }t        |j                  | «      }t        g d||j                  ¬«      }t        j                  ||«       y # 1 sw Y   y xY w)NrP   rT   rG   rU   Úint64)rl   r)   Úname)r`   r)   r   rJ   rK   ra   r'   r	   rb   r   r
   r€   r+   r8   )	r!   re   rf   r>   rN   rg   r/   r)   r1   s	            r   Ú test_resample_count_empty_seriesr�   Ä   sÅ   € ð
 €CØˆt‚|œ
 3§9¡9¬nÔ=ð1ð 	ô �]‰]œ:¨SÔ1ñ 	Ø�L‰L˜Ô÷	àØ	�Šœ* S§Y¡Y´Ô<àˆØ	�‰�dÓ	€Bà)ŒW�R˜Ó)Ó+€Fä˜3Ÿ9™9 dÓ+€Eä�b ¨u¸3¿8¹8ÔD€Hä×Ñ˜6 8Õ,÷	àús   ¿C#Ã#C,c                 óÊ  — | }|dk(  rTt        |j                  t        «      r:d}t        j                  t
        |¬«      5  |j                  |d¬«       d d d «       y |dk(  rt        |j                  t        «      rd}|j                  |d¬«      } t        ||«      «       }|dk(  rwt        j                  |j                  g d¢g«      }t        g |j                  d d	 j                  «       |t        j                  ¬
«      }t!        |j                  |«      |_        n1|dk7  r|j                  «       }nt#        g t        j$                  ¬«      }t!        |j                  |«      |_        t'        j(                  |j                  |j                  «       |j                  j*                  |j                  j*                  k(  sJ ‚t'        j,                  ||«       y # 1 sw Y   y xY w)NrP   rT   rG   F©Ú
group_keysrU   rV   rW   r   )r)   r]   rl   r}   ©rl   )r`   r)   r   rJ   rK   ra   r'   r	   rb   r   Úfrom_productr]   r   rc   ÚnpÚfloat64r   r
   r   r+   rd   r!   r,   )	Úempty_frame_dtir!   rf   rD   rN   rg   r/   Úmir1   s	            r   Útest_resample_empty_dataframer‹   à   sz  € ð 
€Bàˆt‚|œ
 2§8¡8¬^Ô<ð1ð 	ô �]‰]œ:¨SÔ1ñ 	0Ø�K‰K˜¨ˆKÔ/÷	0àØ	�Šœ* R§X¡X¬{Ô;àˆØ	�‰�T eˆÓ	,€BØ)ŒW�R˜Ó)Ó+€FØ˜&Ò ä×$Ñ$ b§j¡jÒ2RÐ%SÓTˆÜØ�b—h‘h˜r �l×'Ñ'Ó)°2¼R¿Z¹Zô
ˆô (¨¯©°$Ó7ˆ�à	˜FÒ	"Ø—7‘7“9‰ô ˜"¤B§H¡HÔ-ˆä# B§H¡H¨dÓ3€H„Nä×Ñ˜&Ÿ,™,¨¯©Ô7Ø�<‰<×Ñ §¡× 3Ñ 3Ò3Ð3Ð3Ü×Ñ˜6 8Õ,÷5	0àús   ¿GÇG"c                 óÊ  — g |d<   | dk(  rRt        |j                  t        «      r8d}t        j                  t
        |¬«      5  |j                  | «       d d d «       y | dk(  rt        |j                  t        «      rd} |j                  | «      j                  «       }t        |j                  | «      }t        d|dg¬«      }t        j                  ||«       y # 1 sw Y   y xY w)NÚarP   rT   rG   rU   r   )rl   r)   r]   )r`   r)   r   rJ   rK   ra   r'   r	   r|   r   r   r+   r<   ©r!   r‰   rN   r/   r)   r1   s         r   Ú#test_resample_count_empty_dataframer�   
  sÈ   € ð
 €O�CÑàˆt‚|œ
 ?×#8Ñ#8¼.ÔIð1ð 	ô �]‰]œ:¨SÔ1ñ 	+Ø×$Ñ$ TÔ*÷	+àØ	�Šœ* _×%:Ñ%:¼KÔHàˆØ×%Ñ% dÓ+×1Ñ1Ó3€Fä˜?×0Ñ0°$Ó7€Eä˜w¨e¸c¸UÔC€Hä×Ñ˜& (Õ+÷	+àús   ÁCÃC"c                 óÈ  — g |d<   | dk(  rRt        |j                  t        «      r8d}t        j                  t
        |¬«      5  |j                  | «       d d d «       y | dk(  rt        |j                  t        «      rd} |j                  | «      j                  «       }t        |j                  | «      }t        g d|¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr�   rP   rT   rG   rU   r   )rl   r)   )r`   r)   r   rJ   rK   ra   r'   r	   r}   r   r
   r+   r8   rŽ   s         r   Ú"test_resample_size_empty_dataframer‘   %  sÆ   € ð
 €O�CÑàˆt‚|œ
 ?×#8Ñ#8¼.ÔIð1ð 	ô �]‰]œ:¨SÔ1ñ 	+Ø×$Ñ$ TÔ*÷	+àØ	�Šœ* _×%:Ñ%:¼KÔHàˆØ×%Ñ% dÓ+×0Ñ0Ó2€Fä˜?×0Ñ0°$Ó7€Eä�b ¨uÔ5€Hä×Ñ˜6 8Õ,÷	+àús   ÁCÃC!r)   rU   r�   )r!   r€   )r€   rl   zdatetime64[ns]c                 ó†   — t        g | |«      }|j                  dd¬«      }	  t        ||«      «        y # t        $ r Y y w xY w)NÚdFrƒ   )r
   r'   rb   r   )r)   rl   rf   re   rg   s        r   Útest_resample_empty_dtypesr”   @  sP   € ô ˜b %¨Ó/ÐØ	×	"Ñ	" 3°5Ð	"Ó	9€BðØ$Œ��OÓ$Õ&øÜò ñ 	ðús   ¢4 ´	A ¿A c                 óÆ  — | }|dk(  rRt        | j                  t        «      r8d}t        j                  t
        |¬«      5  | j                  |«       d d d «       y |dk(  rt        | j                  t        «      rd}|j                  |d¬«      j                  d„ «      }|j                  |«      j                  d«      }t        j                  ||d¬	«       y # 1 sw Y   y xY w)
NrP   rT   rG   rU   Frƒ   c                  ó   — y)Nr   r   )Úxs    r   ú<lambda>z,test_apply_to_empty_series.<locals>.<lambda>i  s   � r   rt   r^   )r`   r)   r   rJ   rK   ra   r'   r	   Úapplyr+   r8   )re   r!   r>   rN   r/   r1   s         r   Útest_apply_to_empty_seriesrš   W  sÂ   € ð €Càˆt‚|œ
Ð#3×#9Ñ#9¼>ÔJð1ð 	ô �]‰]œ:¨SÔ1ñ 	,Ø×%Ñ% dÔ+÷	,àØ	�Šœ*Ð%5×%;Ñ%;¼[ÔIàˆà�\‰\˜$¨5ˆ\Ó1×7Ñ7¹ÓD€FØ�|‰|˜DÓ!×'Ñ'¨Ó.€Hä×Ñ˜6 8¸Ö?÷	,àús   ¿CÃC c                 óÔ   — d}t        |d¬«      }| j                  |«      }| j                  |«      }t        ||«      D ](  \  \  }}\  }}||k(  sJ ‚t	        j
                  ||«       Œ* y )NrR   rp   )r!   Ú
convention)r   Úgroupbyr'   Úzipr+   r8   )	r=   r!   ÚtgÚgroupedÚ	resampledÚrkÚrvÚgkÚgvs	            r   Útest_resampler_is_iterabler¦   o  so   € ð €DÜ	�d wÔ	/€BØ�n‰n˜RÓ €GØ—‘ Ó%€IÜ! )¨WÓ5ò 'Ñ‰ˆˆR‘(�2�rØ�RŠxˆˆxÜ
×Ñ˜r 2Õ&ñ'r   c                 óö   ‡— | }dŠd}|j                  |«      j                  ‰«      }|j                  |«      j                  ˆfd„«      j                  |j                  «      }t        j                  ||«       y )Ng      è?rR   c                 ó&   •— | j                  ‰«      S )N)Úquantile)r—   Úqs    €r   r˜   z(test_resample_quantile.<locals>.<lambda>ƒ  s   ø€ °·
±
¸1³€ r   )r'   r©   ÚaggÚrenamer€   r+   r8   )r=   r>   r!   r/   r1   rª   s        @r   Útest_resample_quantiler­   {  sf   ø€ ð €CØ€AØ€Dà�\‰\˜$Ó×(Ñ(¨Ó+€FØ�|‰|˜DÓ!×%Ñ%Ó&=Ó>×EÑEÀcÇhÁhÓO€HÜ×Ñ˜6 8Õ,r   ÚhowÚfirstÚlastc                 óö  — t        | «      r!t        | ¬«      j                  j                  }nt        j
                  }t        g d¢|d|dg|d|dgdœt        ddd¬	«      | ¬
«      }|j                  d«      }t        ||«      } ||¬«      }|j                  |j                  d   t        j                  d«      gz  «      } t        ||«      |¬«      }	d|	j                  _        t!        j"                  ||	«       y )Nr…   )ro   r   r   ro   g      @r6   )r�   ÚbÚcz
2020-01-01é   rQ   )rq   r!   rk   rP   )Úskipnar   z
2020-01-31)r   r
   rl   Úna_valuer‡   Únanr   r   r'   rb   r�   Úshaperr   Úto_datetimer)   r!   r+   r<   )
Úany_real_nullable_dtyperµ   r®   r¶   rD   rg   Úmethodr/   Úgbr1   s
             r   Útest_first_last_skipnar½   ‡  sä   € ô  Ð 7Ô8ÜÐ 7Ô8×>Ñ>×GÑG‰ä—6‘6ˆÜ	âØ˜C ¨3Ð/Ø˜C ¨3Ð/ñ	
ô
 ˜¨q°sÔ;Ø%ô
€Bð 
�‰�TÓ	€BÜ�R˜Ó€FÙ˜6Ô"€Fà	�‰�B—H‘H˜Q‘K¤2§>¡>°,Ó#?Ð"@Ñ@Ó	A€BØŒw�r˜3Ó vÔ.€HØ€H‡N�NÔÜ×Ñ˜& (Õ+r   );r   Únumpyr‡   rJ   Úpandas.core.dtypes.commonr   Úpandasrr   r   r   r   r   r	   r
   r   Úpandas._testingÚ_testingr+   Úpandas.core.groupby.groupbyr   Úpandas.core.groupby.grouperr   Úpandas.core.indexes.datetimesr   Úpandas.core.indexes.periodr   Úpandas.core.indexes.timedeltasr   Úpandas.core.resampler   Ú
DATE_RANGEÚPERIOD_RANGEÚTIMEDELTA_RANGEÚmarkÚparametrizeÚall_tsÚfixturer    r2   r@   rE   rO   rh   rv   ÚparamÚxfailr{   r�   r‹   r�   r‘   r4   ÚintÚobjectr”   rš   r¦   r­   r½   r   r   r   ú<module>rÔ      sÒ  ðÝ ã Û å >ã ÷÷ ñ õ Ý 1Ý /Ý 4Ý 3Ý :Ý /ð ˜%¡¨$°°1Ó!5±xÀÀaÈÓ7LÐM€
Ø˜d¡H¨T°1°aÓ$8¹(À4ÈÈBÓ:OÐP€Ø" E¨7°HÐ=€à	�‰×	 Ñ	 Ø9Ø�˜Ð/ó
€ð ‡�ñó ðð ‡�×Ñ˜ $¨ Ó.Ø‡�×ÑØ9¸JÈÐ;Xóñ-óó /ð-ð ‡�×ÑØ9¸JÈÐ;Xóñ,óð,ð& ñ,ó ð,òð Ø‡�×Ñ˜Ò!1Ó2ñ4ó 3ó ð4ðB ‡�×Ñ˜ q¨! fÓ-ñ-ó .ð-ð0 Ø‡�×ÑØ
àˆ�‰�T §¡×!2Ñ!2Ð:UÐ!2Ó!VÔWØØðóñ4óó ð4ð* Ø‡�×Ñ˜Ò!1Ó2Ø‡�×ÑÐ*¨W°fÐ,=Ó>ñ-ó ?ó 3ó ð-ð2 Ø‡�×Ñ˜Ò!1Ó2ñ#-ó 3ó ð#-ðP Ø‡�×Ñ˜Ò!1Ó2ñ,ó 3ó ð,ð2 Ø‡�×Ñ˜Ò!1Ó2ñ-ó 3ó ð-ð2 ‡�×ÑØá�B˜S sÔ+Ù�b˜sÔ#Ù�r Ô$ðóð ‡�×Ñ˜ 5¨#¨vÐ7GÐ"HÓIñó Jóðð Ø‡�×Ñ˜Ò!1Ó2ñ@ó 3ó ð@ð, ñ'ó ð'ð ñ-ó ð-ð ‡�×Ñ˜ ¨&Ð 1Ó2ñ,ó 3ñ,r   