a
    nÝEbãU ã                   @   sŒ  d dl m Z mZmZ d dlmZmZ d dlZd dlZd dlZ	d dl
Z
d dlZd dlmZ d dlm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mZmZ d dlmZ d dl m!Z!m"Z" d d	l#m$Z$ d d
l%m&Z&m'Z'm(Z(m)Z) G dd„ dƒZ*G dd„ dƒZ+G dd„ dƒZ,G dd„ dƒZ-G dd„ dƒZ.G dd„ dƒZ/G dd„ dƒZ0G dd„ dƒZ1e
j2 3dg d¢¡e
j2 3dg d¢¡dd „ ƒƒZ4d!d"„ Z5dS )#é    )ÚdatetimeÚtimeÚ	timedelta)ÚproductÚstarmapN)Úlocalize_pydatetime)Úshift_months)ÚPerformanceWarning)	Ú
DateOffsetÚDatetimeIndexÚNaTÚPeriodÚSeriesÚ	TimedeltaÚTimedeltaIndexÚ	TimestampÚ
date_range)ÚDatetimeArrayÚTimedeltaArray)Ú	roperator)Úassert_cannot_addÚassert_invalid_addsub_typeÚassert_invalid_comparisonÚget_upcast_boxc                   @   s  e Zd Zdd„ Zej dddddeƒ edd	�e	d
ddƒ 
¡ dejg	¡dd„ ƒZej deedƒƒe d¡e d¡ ej¡e d¡ e¡ejddd�je ejddd�¡eejddd�ƒejddd� e¡ejdddd�jejdddd� e¡g
¡dd„ ƒZdd„ Zdd„ ZdS )Ú"TestDatetime64ArrayLikeComparisonsc                 C   sr   |}|}t dd|d�}t | ¡ d ¡}t ||¡}t||dƒ}||k}	t g d¢¡}
t |
|¡}
t |	|
¡ d S )NÚ20130101é   ©ÚperiodsÚtzr   T©TFF)r   ÚnpÚarrayZto_numpyÚtmÚbox_expectedr   Úassert_equal)ÚselfÚtz_naive_fixtureÚbox_with_arrayr   ÚboxÚdtiÚotherÚdtarrÚxboxÚresultÚexpected© r0   úg/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/arithmetic/test_datetime64.pyÚtest_compare_zerodim:   s    z7TestDatetime64ArrayLikeComparisons.test_compare_zerodimr+   Úfooéÿÿÿÿéc   g      @é   ©ÚdaysiÑ  é   Nc                 C   s.   |}t dd|d�}t ||¡}t|||ƒ d S )Nú1/1/2000é
   r   )r   r#   r$   r   )r&   r+   r'   r(   r   Úrngr,   r0   r0   r1   Útest_dt64arr_cmp_scalar_invalidI   s    zBTestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_scalar_invalidr;   Z1ns©r   ú1 Dayz
1971-01-01ÚD©Úfreqr   c                 C   s2   |}t ddd|d�j}t ||¡}t|||ƒ d S )Nú
1970-01-01Únsr;   ©rB   r   r   )r   Ú_datar#   r$   r   )r&   r+   r'   r(   r   ÚdtaÚobjr0   r0   r1   Ú"test_dt64arr_cmp_arraylike_invalidc   s    zETestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_arraylike_invalidc              	   C   sP  |}t ddd|d�j}t ddd|d tdd	�g¡}||k}t g d
¢¡}t ||¡ ||k}t || ¡ d}tjt	|d�� ||k  W d   ƒ n1 sœ0    Y  tjt	|d�� ||k W d   ƒ n1 sÒ0    Y  tjt	|d�� ||k W d   ƒ n1 �s
0    Y  tjt	|d�� ||k W d   ƒ n1 �sB0    Y  d S )NrC   Úhé   rE   r   r9   r6   r   r7   )FFFTFzDInvalid comparison between|Cannot compare type|not supported between©Úmatch)
r   rF   r!   r"   r   r#   Úassert_numpy_array_equalÚpytestÚraisesÚ	TypeError)r&   r'   r   rG   r+   r.   r/   Úmsgr0   r0   r1   Útest_dt64arr_cmp_mixed_invalid|   s"    &&(zATestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_mixed_invalidc                 C   sn   |}|}t d|d�}t|tgƒ}t ||¡}t||dƒ}tddgtjd�}	t |	|¡}	||k}
t |
|	¡ d S )Nz
2021-01-01©r   TF©Údtype)	r   r   r   r#   r$   r   r!   Zbool_r%   )r&   r'   r(   r   r)   ÚtsÚserrH   r-   r/   r.   r0   r0   r1   Útest_dt64arr_nat_comparison“   s    z>TestDatetime64ArrayLikeComparisons.test_dt64arr_nat_comparison)Ú__name__Ú
__module__Ú__qualname__r2   rO   ÚmarkÚparametrizeÚobjectr   r   Údater!   Únanr=   ÚlistÚrangeZarangeÚastypeZfloat32ÚpdÚtimedelta_ranger"   Zperiod_rangerI   rS   rY   r0   r0   r0   r1   r   5   s@   óþ

õþ
	r   c                   @   s4  e Zd Zej dedƒeedƒgeeedƒgfedƒeedƒgeeedƒgfe	ddd�ee	d	dd�geee	d	dd�gfg¡ej d
ddg¡ej dde
g¡ej dejeg d¢ƒfejeg d¢ƒfejeg d¢ƒfejeg d¢ƒfejeg d¢ƒfejeg d¢ƒfg¡dd„ ƒƒƒƒZej dedƒeedƒgedƒeedƒge	ddd�ee	d	dd�gg¡ej dde
g¡dd„ ƒƒZej dedddƒedddƒg¡dd„ ƒZej dg d ¢¡d!d"„ ƒZd#d$„ Zej d%ed&ƒed'ddƒe d(d)¡g¡ej d*ejg d+¢fejg d,¢fejg d-¢fejg d.¢fg¡d/d0„ ƒƒZdS )1ÚTestDatetime64SeriesComparisonÚpairú
2011-01-01ú
2011-01-03ú1 daysz3 daysz2011-01ÚM©rB   z2011-03ÚreverseTFrV   Nzop, expected©FFT©TTF©FFFc                 C   sL   |}|\}}	|r|	| }}	t ||d�}
||	|d�}||
|ƒ}t ||¡ d S )NrU   )r   r#   Úassert_series_equal)r&   rV   Úindex_or_seriesrn   rh   Úopr/   r)   ÚlÚrÚleftÚrightr.   r0   r0   r1   Útest_nat_comparisons¨   s    '

z3TestDatetime64SeriesComparison.test_nat_comparisonsÚdatac                 C   sŒ  |}t ||d�}t ||¡}t|tdƒ}g d¢}t ||¡}|tju r\|tu r\tj|dd�}t |tk|¡ t t|k|¡ g d¢}t ||¡}|tju r°|tu r°tj|dd�}t |tk|¡ t t|k|¡ g d¢}t ||¡}|tju �r|tu �rtj|dd�}t |tk |¡ t t|k|¡ t |tk|¡ t t|k|¡ t |tk|¡ t t|k |¡ t |tk|¡ t t|k|¡ d S )NrU   Trq   Úbool©TTT)	r   r#   r$   r   r   re   r"   r_   r%   )r&   rV   rz   r(   r)   rw   r-   r/   r0   r0   r1   Útest_nat_comparisons_scalarÜ   s8    
z:TestDatetime64SeriesComparison.test_nat_comparisons_scalarÚvaliÐ  r9   é   rK   c                    s>   t tddd�ƒ}|ˆ k}t ‡ fdd„|D ƒƒ}t ||¡ d S )Nr:   r;   r>   c                    s   g | ]}|ˆ k‘qS r0   r0   ©Ú.0Úx©r~   r0   r1   Ú
<listcomp>  ó    zQTestDatetime64SeriesComparison.test_series_comparison_scalars.<locals>.<listcomp>)r   r   r#   rr   )r&   r~   Zseriesr.   r/   r0   rƒ   r1   Útest_series_comparison_scalars	  s    z=TestDatetime64SeriesComparison.test_series_comparison_scalarsz
left,right))ÚltÚgt)ÚleÚge)Úeqr‹   )ÚnerŒ   c           	      C   sè   t tddd�dd�}|jdd�}tdƒ|d	< tdƒ|d
< tt|ƒ}tt|ƒ}||tdƒƒ}|tdƒ|ƒ}t ||¡ ||tdƒƒ}|tdƒ|ƒ}t ||¡ ||tdƒƒ}|tdƒ|ƒ}t ||¡ ||tƒ}|t|ƒ}t ||¡ d S )NZ20010101r;   r>   Údates©ÚnameT)ÚdeepÚnatr   r   Z20010109)	r   r   Úcopyr   ÚgetattrÚoperatorr#   rr   r   )	r&   rw   rx   rX   Zs_natZleft_fZright_fr/   r.   r0   r0   r1   Útest_timestamp_compare_series  s$    



z<TestDatetime64SeriesComparison.test_timestamp_compare_seriesc                 C   sØ  t tdƒtdƒtgƒ}t ||¡}t||dƒ}||k}t g d¢|¡}t ||¡ |tju r`t	nd }t 
|¡� ||d k}W d   ƒ n1 s�0    Y  t g d¢|¡}t ||¡ t 
|¡� ||d k}W d   ƒ n1 sâ0    Y  t g d¢|¡}t ||¡ ||k}t g d	¢|¡}t ||¡ t 
|¡� ||d k}W d   ƒ n1 �sZ0    Y  t g d
¢|¡}t ||¡ t 
|¡� ||d k}W d   ƒ n1 �s®0    Y  t g d¢|¡}t ||¡ d S )Nz2000-01-29 01:59:00z
2000-01-30Tro   r   )FTTr6   r|   rp   r    rq   )r   r   r   r#   r$   r   r%   re   Ú	DataFrameÚFutureWarningÚassert_produces_warning)r&   r(   rX   r-   r.   r/   Úwarnr0   r0   r1   Útest_dt64arr_timestamp_equality4  s4    **,,z>TestDatetime64SeriesComparison.test_dt64arr_timestamp_equalityÚdatetimeliker   iÝ  z2013-01-01T00:00rD   zop,expected)TFFF)TTFF)FTFF)FFFTc                 C   sH   t tdƒtdƒtjtdƒgdd�}|||ƒ}t |dd�}t ||¡ d S )NÚ20120101r   Z20130103ÚArŽ   )r   r   r!   ra   r#   rr   )r&   r›   rt   r/   rX   r.   r0   r0   r1   Ú!test_dt64_compare_datetime_scalar\  s    üù	
z@TestDatetime64SeriesComparison.test_dt64_compare_datetime_scalar)rZ   r[   r\   rO   r]   r^   r   r   r   r   r_   r”   r‹   r   rŒ   r‡   rˆ   rŠ   r‰   ry   r}   r   r†   r•   rš   r!   Ú
datetime64rž   r0   r0   r0   r1   rg   ¥   st   þþþ÷þúþýþ$ 
ÿ
 (

ýþüþ	rg   c                   @   s(  e Zd Zdd„ Zej dedddƒedƒe	 
d¡g¡dd„ ƒZej d	d
eg¡dd„ ƒZdd„ Zdd„ Zdd„ Zej dedddƒedƒe	 
d¡g¡ej d¡ej d¡dd„ ƒƒƒZdd„ Zdd„ Zdd„ Zejjdejddd�ejddd� ¡ ejddd�j d ¡gd!d"„ d#�d$d%„ ƒZd&d'„ Zd
S )(ÚTestDatetimeIndexComparisonsc                 C   sd   t  d¡}|t|ƒd  }t|ƒ ¡ }t |¡}|||ƒ}|||ƒ}t|tjƒsTJ ‚t  	||¡ d S )Néd   r6   )
r#   ZmakeDateIndexÚlenr   Úto_datetime64r!   r"   Ú
isinstanceZndarrayrN   )r&   Úcomparison_opÚindexÚelementZarrZ
arr_resultZindex_resultr0   r0   r1   Útest_comparators�  s    



z-TestDatetimeIndexComparisons.test_comparatorsr+   éà  r9   ú
2016-01-01c                 C   sä   |}t dd|d�}|d ur6t|tjƒr*d S t||jƒ}||k}t ddg¡}t ||¡ ||k}t ddg¡}t ||¡ ||k}t ddg¡}t ||¡ ||k }t ddg¡}t ||¡ ||k}t ddg¡}t ||¡ d S )Nrª   r6   r   TF)	r   r¤   r!   rŸ   r   Útzinfor"   r#   rN   )r&   r+   r'   r   r*   r.   r/   r0   r0   r1   Útest_dti_cmp_datetimelike�  s*    z6TestDatetimeIndexComparisons.test_dti_cmp_datetimelikerV   Nc           
      C   s‚  t tdƒttdƒgƒ}t tttdƒgƒ}t ||¡}t ||¡}t||dƒ}|| }}|tu rt| t¡| t¡ }}||k}t 	g d¢¡}	t |	|¡}	t 
||	¡ ||k}t 	g d¢¡}	t |	|¡}	t 
||	¡ t 	g d¢¡}	t |	|¡}	t 
|tk|	¡ t 
t|k|	¡ t 	g d¢¡}	t |	|¡}	t 
|tk|	¡ t 
t|k|	¡ t 	g d¢¡}	t |	|¡}	t 
|tk |	¡ t 
t|k|	¡ d S )Nri   rj   Tro   rp   rq   r|   )r   r   r   r#   r$   r   r_   rd   r!   r"   r%   )
r&   rV   r(   rw   rx   r-   ÚlhsÚrhsr.   r/   r0   r0   r1   Útest_dti_cmp_nat®  s8    
z-TestDatetimeIndexComparisons.test_dti_cmp_natc              
   C   s²  t  dtjdtjddg¡}t  ddtjtjddg¡}tdtdtd	d
gƒ}tddttdd
gƒ}t t d¡t d¡t d¡t d¡t d¡t d¡g¡}||f||f||fg}t 	d ¡�ê |D ]Ô\}}||k }	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ q¼W d   ƒ n1 �s¨0    Y  t 	d ¡�Â |tjf|tffD ]ž\}}||k }	t g d¢¡}
t 
|	|
¡ ||k}	t 
|	|
¡ ||k}	t 
|	|
¡ ||k}	t 
|	|
¡ ||k}	t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ �qÐW d   ƒ n1 �s†0    Y  t 	d ¡��  |df|tdddƒffD ]Ö\}}||k }	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d¢¡}
t 
|	|
¡ ||k}	t g d ¢¡}
t 
|	|
¡ �q¶W d   ƒ n1 �s¤0    Y  d S )!Nç      ð?ç      @g      @g      @ç       @g      @ú
2014-01-01ú
2014-03-01ú
2014-05-01ú
2014-07-01z
2014-02-01z
2014-06-01z2014-02-01 00:00z2014-03-01 00:00r‘   z2014-06-01 00:00z2014-07-01 00:00)TFFFTF)TFFFTT)FFFFFT)TTTTTF)FFFFFF)TTTTTTr   iÞ  r9   )TFFFFF)FFFFTT)TFTFFF)FFTFTT)FFTFFF)TTFTTT)re   ÚIndexr!   ra   r   r   r"   rŸ   r#   r˜   rN   r   )r&   Zfidx1Zfidx2Zdidx1Zdidx2ÚdarrZcasesZidx1Zidx2r.   r/   r~   r0   r0   r1   Ú+test_dti_cmp_nat_behaves_like_float_cmp_nanÕ  s”    ÿÿúÿ.0 zHTestDatetimeIndexComparisons.test_dti_cmp_nat_behaves_like_float_cmp_nanc           	      C   sô  |}|}t ddd�}| d¡}t ||¡}t ||¡}|tju rJdd„ }nt}|tjtj	fv�ràd}t
jt|d�� |||ƒ W d   ƒ n1 s’0    Y  t
jt|d�� ||||ƒƒ W d   ƒ n1 sÎ0    Y  t
jt|d��( ||tj||ƒtd	�ƒ W d   ƒ n1 �s0    Y  t
jt|d�� |||ƒ W d   ƒ n1 �sP0    Y  t
jt|d�� ||||ƒƒ W d   ƒ n1 �sŽ0    Y  t
jt|d��( ||tj||ƒtd	�ƒ W d   ƒ n1 �sÖ0    Y  t ||k¡�sôJ ‚t |||ƒk¡�sJ ‚t ||ƒ|k¡�s$J ‚t tj||ƒtd	�|k¡�sFJ ‚t |tj||ƒtd	�k¡�shJ ‚t ||k¡�s|J ‚t |||ƒk¡�s”J ‚t ||ƒ|k¡�s¬J ‚t tj||ƒtd	�|k¡�sÎJ ‚t |tj||ƒtd	�k¡�sðJ ‚d S )
Nrª   é   r>   ú
US/Pacificc                 S   s   |   t¡j ¡ d S )Nr   )rd   r_   ÚvaluesÚtolist©r‚   r0   r0   r1   Ú<lambda>A  r…   zQTestDatetimeIndexComparisons.test_comparison_tzawareness_compat.<locals>.<lambda>z^Invalid comparison between dtype=datetime64\[ns.*\] and (Timestamp|DatetimeArray|list|ndarray)rL   rU   )r   Útz_localizer#   r$   re   r–   rb   r”   r‹   rŒ   rO   rP   rQ   r!   r"   r_   Úall)	r&   r¥   r(   rt   r)   ÚdrÚdzr½   rR   r0   r0   r1   Ú"test_comparison_tzawareness_compat5  sD    


ÿ(,8*.8"""z?TestDatetimeIndexComparisons.test_comparison_tzawareness_compatc           	      C   sN  |}t ddd�}| d¡}t ||¡}t ||¡}tdƒ}tddd�}t ||k¡sXJ ‚d}|tjtj	fvr¤t
jt|d	�� |||ƒ W d   ƒ n1 sš0    Y  t ||k¡s¶J ‚|tjtj	fvrþt
jt|d	�� |||ƒ W d   ƒ n1 sô0    Y  |tjtj	fv�rJt
jt|d	�� |||ƒ W d   ƒ n1 �s@0    Y  d S )
Nrª   rº   r>   r»   z2000-03-14 01:59zEurope/AmsterdamrT   zAInvalid comparison between dtype=datetime64\[ns.*\] and TimestamprL   )r   rÀ   r#   r$   r   r!   rÁ   r”   r‹   rŒ   rO   rP   rQ   )	r&   r¥   r(   rt   rÂ   rÃ   rW   Zts_tzrR   r0   r0   r1   Ú*test_comparison_tzawareness_compat_scalarsf  s&    
((zGTestDatetimeIndexComparisons.test_comparison_tzawareness_compat_scalarsz*ignore:elementwise comp:DeprecationWarningz.ignore:Converting timezone-aware:FutureWarningc                 C   s  |}|}t dd|d�}t ||¡}t||dƒ}	|tjtjfv r”|tju }
tj|
|
gt	d�}t ||	¡}|||ƒ}t 
||¡ |||ƒ}t 
||¡ n‚dt|ƒj› �}tjt|d�� |||ƒ W d   ƒ n1 sÒ0    Y  tjt|d�� |||ƒ W d   ƒ n1 �s0    Y  d S )Nrª   r6   r   TrU   z:Invalid comparison between dtype=datetime64\[ns, .*\] and rL   )r   r#   r$   r   r”   r‹   rŒ   r!   r"   r{   r%   ÚtyperZ   rO   rP   rQ   )r&   r¥   r+   Útz_aware_fixturer(   rt   r   r*   r,   r-   Zexboolr/   r.   rR   r0   r0   r1   Ú"test_scalar_comparison_tzawareness„  s*    


ÿÿ(z?TestDatetimeIndexComparisons.test_scalar_comparison_tzawarenessc                 C   sh   |}t dtdtddgƒ}t |tjkgt|ƒ ¡}||tƒ}t ||¡ || 	d¡tƒ}t ||¡ d S )Nr³   r´   rµ   r¶   r»   )
r   r   r!   r"   r”   rŒ   r¢   r#   rN   rÀ   )r&   r¥   rt   r*   r/   r.   r0   r0   r1   Útest_nat_comparison_tzawarenessª  s    ÿ
z<TestDatetimeIndexComparisons.test_nat_comparison_tzawarenessc                 C   s
  |}t dd|d�}d}||k}t dgdgd  ¡}t ||¡ ||k}t dgdgd  ¡}t ||¡ ||k }t dgd ¡}t ||¡ ||k}t dgdgd  ¡}t ||¡ ||k}t dgdgd  ¡}t ||¡ ||k}t dgd ¡}t ||¡ d S )Nr:   r;   r   TFé	   )r   r!   r"   r#   rN   )r&   r'   r   r<   r+   r.   r/   r0   r0   r1   Útest_dti_cmp_str¹  s*    z-TestDatetimeIndexComparisons.test_dti_cmp_strc                 C   s0   t ddd�}|t|ƒk}||k}t ||¡ d S )Nr:   r;   r>   )r   rb   r#   rN   )r&   r<   r.   r/   r0   r0   r1   Útest_dti_cmp_listØ  s    z.TestDatetimeIndexComparisons.test_dti_cmp_listZ1Dr;   r>   úm8[ns]c                 C   s
   t | ƒjS ©N)rÆ   rZ   r¾   r0   r0   r1   r¿   æ  r…   z%TestDatetimeIndexComparisons.<lambda>)Úidsc                 C   s8  t dddd�}||k}t dgd ¡}t ||¡ ||k}t dgd ¡}t ||¡ d}tjt|d�� ||k  W d   ƒ n1 s†0    Y  tjt|d�� ||k W d   ƒ n1 s¼0    Y  tjt|d�� ||k W d   ƒ n1 sò0    Y  tjt|d�� ||k W d   ƒ n1 �s*0    Y  d S )	Nú
2000-01-01r;   ú
Asia/Tokyor   FTzInvalid comparison betweenrL   )r   r!   r"   r#   rN   rO   rP   rQ   )r&   r+   r*   r.   r/   rR   r0   r0   r1   Útest_dti_cmp_tdi_tzawarenessß  s     &&&z9TestDatetimeIndexComparisons.test_dti_cmp_tdi_tzawarenessc                 C   sì   t dddd�}| d¡}||k}t dgd ¡}t ||¡ | d ¡}||k}t ||¡ t t|d d… ƒtdd	�gd  ¡}||k}t dgd d
gd  ¡}t ||¡ d}t	j
t|d�� ||k W d   ƒ n1 sÞ0    Y  d S )NrÐ   r;   rÑ   r   ÚOTrK   r9   r7   FzB>=' not supported between instances of 'Timestamp' and 'Timedelta'rL   )r   rd   r!   r"   r#   rN   rÀ   rb   r   rO   rP   rQ   )r&   r*   r+   r.   r/   rR   r0   r0   r1   Útest_dti_cmp_object_dtypeÿ  s    

&z6TestDatetimeIndexComparisons.test_dti_cmp_object_dtype)rZ   r[   r\   r¨   rO   r]   r^   r   r   r!   rŸ   r¬   r_   r¯   r¹   rÄ   rÅ   ÚfilterwarningsrÈ   rÉ   rË   rÌ   re   rf   Z	to_seriesÚasi8ÚviewrÒ   rÔ   r0   r0   r0   r1   r    ~  s>   þ

&`1þ

ýù	
r    c                
   @   s¶  e Zd Zejjdd„ ƒZdd„ Zdd„ Zdd„ Z	d	d
„ Z
dd„ Zej dedƒedƒ ¡ edƒ ¡ e dd¡g¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej dg d¢¡ej d d!d"g¡d#d$„ ƒƒZej d%d&e d'd(g¡ed)dd*�ed+d,d-ƒg¡ej d.d!dg¡d/d0„ ƒƒZej d1g d2¢¡ej d.d!dg¡d3d4„ ƒƒZd5d6„ Zej d7e ed8ƒed8ƒgƒe e!ed8ƒgƒe e!e!gd9d:�g¡ej d;d+d<e d+¡g¡d=d>„ ƒƒZ"d!S )?ÚTestDatetime64Arithmeticc                 C   sx   |}t dd|d�}t dd|d�}t ||¡}t ||¡}|| }t ||¡ || }t ||¡ ||7 }t ||¡ d S )NrÐ   ú
2000-02-01rT   z2000-01-01 02:00z2000-02-01 02:00©r   r#   r$   r%   ©r&   r'   Z	two_hoursr(   r   r<   r/   r.   r0   r0   r1   Ú%test_dt64arr_add_timedeltalike_scalar!  s    z>TestDatetime64Arithmetic.test_dt64arr_add_timedeltalike_scalarc                 C   sd   |}t dd|d�}t dd|d�}t ||¡}t ||¡}|| }t ||¡ ||8 }t ||¡ d S )NrÐ   rÙ   rT   z1999-12-31 22:00z2000-01-31 22:00rÚ   rÛ   r0   r0   r1   Ú%test_dt64arr_sub_timedeltalike_scalar7  s    z>TestDatetime64Arithmetic.test_dt64arr_sub_timedeltalike_scalarc                 C   s   t ddd� d¡}t ||¡}tdƒ d¡}tdƒ}|| }tg d¢ƒ}t ||¡}t ||¡ || }tg d¢ƒ}t ||¡}t ||¡ d	}tjt	|d
�� ||  W d   ƒ n1 s¼0    Y  tjt	|d
�� ||  W d   ƒ n1 sò0    Y  d S )Nr   r   r>   ú
US/EasternÚCETi5)3)ú0 days 06:00:00z1 days 06:00:00z2 days 06:00:00)ú-1 days +18:00:00z-2 days +18:00:00z-3 days +18:00:00ú;Cannot subtract tz-naive and tz-aware datetime-like objectsrL   )
r   rÀ   r#   r$   r   r   r%   rO   rP   rQ   ©r&   r(   Út1Út2Ztnaiver.   r/   rR   r0   r0   r1   Ú.test_dt64_array_sub_dt_with_different_timezoneH  s*    ÿÿ&zGTestDatetime64Arithmetic.test_dt64_array_sub_dt_with_different_timezonec                 C   s  t ddd� d¡}t ||¡}t ddd� d¡}t ||¡}t ddd�}|| }tg d¢ƒ}t ||¡}t ||¡ || }tg d¢ƒ}t ||¡}t ||¡ d}tjt|d	�� ||  W d   ƒ n1 sÐ0    Y  tjt|d	�� ||  W d   ƒ n1 �s0    Y  d S )
Nr   r   r>   rÞ   rß   )rà   rà   rà   )rá   rá   rá   râ   rL   )	r   rÀ   r#   r$   r   r%   rO   rP   rQ   rã   r0   r0   r1   Ú6test_dt64_array_sub_dt64_array_with_different_timezonec  s,    ÿÿ&zOTestDatetime64Arithmetic.test_dt64_array_sub_dt64_array_with_different_timezonec           
      C   sÂ   |}t dd|dd�}t d¡}tdgd |d�}t ||¡}t ||¡}|| }t ||¡ || }t ||¡ || }t ||¡ d}	tjt	|	d�� ||  W d   ƒ n1 s´0    Y  d S )	Nz
1994-04-01rÊ   ZQS©r   r   rB   r   rT   úcannot subtractrL   )
r   r!   Útimedelta64r   r#   r$   r%   rO   rP   rQ   )
r&   r(   r'   r   r*   r+   r/   rH   r.   rR   r0   r0   r1   Útest_dt64arr_add_sub_td64_nat  s    
z6TestDatetime64Arithmetic.test_dt64arr_add_sub_td64_natc                 C   sâ   |}t dd|d�}tg d¢ƒ}|j}t ddd|d�}t ||¡}t ||¡}|| }	t |	|¡ || }	t |	|¡ t ddd|d�}t ||¡}|| }	t |	|¡ d}
tjt|
d	�� ||  W d   ƒ n1 sÔ0    Y  d S )
Nrª   r   r   )ú-1 Dayrì   rì   z
2015-12-31z
2016-01-02z
2016-01-04z8cannot subtract|(bad|unsupported) operand type for unaryrL   )	r   r   r¼   r#   r$   r%   rO   rP   rQ   )r&   r'   r(   r   r*   ÚtdiZtdarrr/   r,   r.   rR   r0   r0   r1   Ú test_dt64arr_add_sub_td64ndarray”  s$    z9TestDatetime64Arithmetic.test_dt64arr_add_sub_td64ndarrayrW   ú
2013-01-01r@   c                 C   sr   t ddd� d ¡}t ||¡}tg d¢ƒ}t ||¡}|| }t ||¡ || }t || ¡ t || ¡ d S )Nrï   r   r>   )z0 Daysr?   z2 Days)r   Ú
_with_freqr#   r$   r   r%   )r&   r(   rW   Úidxr/   r.   r0   r0   r1   Útest_dt64arr_sub_dtscalar±  s    z2TestDatetime64Arithmetic.test_dt64arr_sub_dtscalarc                 C   s|   t ddddd�}| d ¡}|d }t ||¡}tt dd¡t dd¡gƒ}t ||¡}t || |¡ t || | ¡ d S )Nz
2014-03-17r6   r@   rÞ   ©r   rB   r   r   r9   )r   rð   r#   r$   r   r!   rê   r%   )r&   r(   rX   rW   Zdelta_seriesr/   r0   r0   r1   Ú"test_dt64arr_sub_timestamp_tzawareË  s    
z;TestDatetime64Arithmetic.test_dt64arr_sub_timestamp_tzawarec                 C   s–   t ttdƒgƒ}t ||¡}|t }tttgdd�}t ||¡}t ||¡ | d¡}t ||¡}|t }tttgdd�}t ||¡}t ||¡ d S )NÚ19900315útimedelta64[ns]rU   rÑ   )r   r   r   r#   r$   r   r%   rÀ   )r&   r(   r*   rX   r.   r/   Údti_tzZser_tzr0   r0   r1   Útest_dt64arr_sub_NaTØ  s    
z-TestDatetime64Arithmetic.test_dt64arr_sub_NaTc                 C   sv   t dd|d�}|| }t ||¡}t ||¡}t t¡� || t¡ }W d   ƒ n1 s\0    Y  t ||¡ d S ©Nrª   r   r   )r   r#   r$   r˜   r	   rd   r_   r%   )r&   r(   r'   r*   r/   rH   r.   r0   r0   r1   Ú!test_dt64arr_sub_dt64object_arrayí  s    ,z:TestDatetime64Arithmetic.test_dt64arr_sub_dt64object_arrayc                 C   sT   t ddd d�}|j}t ||¡}|| }|| }t ||¡ || }t ||¡ d S rù   )r   r¼   r#   r$   r%   )r&   r(   r*   Údt64valsr,   r/   r.   r0   r0   r1   Ú"test_dt64arr_naive_sub_dt64ndarrayø  s    z;TestDatetime64Arithmetic.test_dt64arr_naive_sub_dt64ndarrayc                 C   s˜   |}t dd|d�}|j}t ||¡}d}tjt|d�� ||  W d   ƒ n1 sT0    Y  tjt|d�� ||  W d   ƒ n1 sŠ0    Y  d S )Nrª   r   r   z.Cannot subtract tz-naive and tz-aware datetimerL   )r   r¼   r#   r$   rO   rP   rQ   )r&   rÇ   r(   r   r*   rû   r,   rR   r0   r0   r1   Ú)test_dt64arr_aware_sub_dt64ndarray_raises  s    &zBTestDatetime64Arithmetic.test_dt64arr_aware_sub_dt64ndarray_raisesc                 C   sÄ   |}t dd|d�}|d u r&| d¡}n
| d ¡}t ||¡}t||jƒ t||ƒ t||ƒ t||d ƒ t||d  ¡ ƒ t||d  ¡ ƒ t||d ƒ t||d  ¡ ƒ t|t 	dd¡ƒ d S )Nrª   r   r   rÞ   r   ri   r@   )
r   rÀ   r#   r$   r   r¼   Úto_pydatetimer£   r!   rŸ   )r&   r'   r(   r   r*   Údti2r,   r0   r0   r1   Útest_dt64arr_add_dtlike_raises  s    


z7TestDatetime64Arithmetic.test_dt64arr_add_dtlike_raisesrB   )ÚHr@   ÚWrl   ZMSÚQÚBNrV   NZuint8c           
      C   s  |}|t ju rd S |d u r,tddg|d�}ntdd||d�}||ƒ}tjddg|d	�}d
 g d¢¡}	t|d|	ƒ t|t d¡|	ƒ t|tjdtjd	�|	ƒ t|||	ƒ t|t |¡|	ƒ t|t  |¡|	ƒ t|t  	|¡|	ƒ t|t  
|¡|	ƒ t|t jjj |¡|	ƒ t|t|ƒ|	ƒ d S )Nr   z2017-04-05 06:07:08rT   rª   r6   ró   r   r4   rU   ú|)z Addition/subtraction of integersz"cannot subtract DatetimeArray fromz(can only perform ops with numeric valuesz%unsupported operand type.*Categoricalr9   r   )re   r–   r   r   r!   r"   Újoinr   Zint64ZCategoricalr·   ÚcoreZindexesÚapiZNumericIndexr   )
r&   rV   r(   rB   r'   r   r*   rH   r+   rR   r0   r0   r1   Útest_dt64arr_addsub_intlike2  s*    
ÿ	z4TestDatetime64Arithmetic.test_dt64arr_addsub_intliker+   g…ëQ¸	@r²   r±   ri   rm   r9   r6   r   Údti_freqc                 C   s:   t ddg|d�}t ||¡}d g d¢¡}t|||ƒ d S )Nri   ú
2011-01-02rm   r  )zunsupported operand typeúcannot (add|subtract)zcannot use operands with typesz7ufunc '?(add|subtract)'? cannot use operands with typesz;Concatenation operation is not implemented for NumPy arrays)r   r#   r$   r  r   )r&   r
  r+   r(   r*   r,   rR   r0   r0   r1   Útest_dt64arr_add_sub_invalidY  s    ÿ	z5TestDatetime64Arithmetic.test_dt64arr_add_sub_invalidÚpi_freq)r@   r  r  r  c           
      C   sP   t ddg|d�}| |¡}t ||¡}t ||¡}d g d¢¡}	t|||	ƒ d S )Nri   r  rm   r  )r  úunsupported operandzdescriptor.*requireszufunc.*cannot use operands)r   Z	to_periodr#   r$   r  r   )
r&   r
  r  r(   Zbox_with_array2r*   Úpir,   ZparrrR   r0   r0   r1   Útest_dt64arr_add_sub_parrs  s    
ÿz2TestDatetime64Arithmetic.test_dt64arr_add_sub_parrc                 C   s”   |}t dd|d�}dd„ tdƒD ƒ}t ||¡}t ||¡}d ddg¡}tjd	d
��* t dt¡ t	|||d� W d   ƒ n1 s†0    Y  d S )Nú
2012-01-01r   r   c                 S   s   g | ]}t |||ƒ‘qS r0   )r   )r�   Úir0   r0   r1   r„   Ž  r…   zTTestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raises.<locals>.<listcomp>r  r  z*cannot subtract DatetimeArray from ndarrayT©ÚrecordÚignore)rR   )
r   rc   r#   r$   r  ÚwarningsÚcatch_warningsÚsimplefilterr	   r   )r&   r(   r'   r   Zobj1Úobj2rR   r0   r0   r1   Ú'test_dt64arr_addsub_time_objects_raisesˆ  s    þÿz@TestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raisesÚdt64_seriesrõ   údatetime64[ns]rU   Úoner°   c                 C   sì   t  ||¡}d}tjt|d�� ||  W d   ƒ n1 s<0    Y  tjt|d�� ||  W d   ƒ n1 sr0    Y  tjt|d�� ||  W d   ƒ n1 s¨0    Y  tjt|d�� ||  W d   ƒ n1 sÞ0    Y  d S )Nz&cannot perform .* with this index typerL   )r#   r$   rO   rP   rQ   )r&   r  r  r(   rH   rR   r0   r0   r1   Ú!test_dt64_mul_div_numeric_invalid¥  s    
&&&z:TestDatetime64Arithmetic.test_dt64_mul_div_numeric_invalid)#rZ   r[   r\   rO   r]   Zarm_slowrÜ   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  r0   r0   r0   r1   rØ     s`   



úþ
%

úþýþrØ   c                &   @   sz  e Zd Zdd„ Zdd„ Zej dg d¢¡dd„ ƒZd	d
„ Z	dd„ Z
ej dddddifddddifddddddddifddddifddddddd d!d"d#d$d%d&d'd(dd)ifd*d+d+d)d,d-œfd.d/d)d,d0œfd1d)d)d2œfd3d4d5d6ifd4ddifg!¡ej d7d8d9g¡ej d:d/dg¡d;d<„ ƒƒƒZd=d>„ Zej d?e ej ¡ ejjd)d@�g¡e ejjd+dA�ej ¡ g¡e ejjd+dA�ejjd+dA�g¡g¡ej dBejejejg¡ej dCd8d9g¡dDdE„ ƒƒƒZej dFdGeddHdI�edJƒedKƒedLƒedMƒgdNfdGeddO�edPƒedQƒedRƒedSƒgdTfdUeddHdI�edVƒedWƒedXƒedYƒgdNfdUeddO�edZƒed[ƒed\ƒed]ƒgd^fg¡d_d`„ ƒZdNS )aÚ"TestDatetime64DateOffsetArithmeticc                 C   s|   t tdƒtdƒgƒ}t tdƒtdƒgƒ}t ||¡}t ||¡}|tj d¡ }t ||¡ tj d¡| }t ||¡ d S )Nú20130101 9:01ú20130101 9:02z20130101 9:01:05z20130101 9:02:05rK   )r   r   r#   r$   re   ÚoffsetsÚSecondr%   )r&   r(   rX   r/   r.   Úresult2r0   r0   r1   Ú'test_dt64arr_series_add_tick_DateOffsetÆ  s    ÿzJTestDatetime64DateOffsetArithmetic.test_dt64arr_series_add_tick_DateOffsetc                 C   sÀ   t tdƒtdƒgƒ}t tdƒtdƒgƒ}t ||¡}t ||¡}|tj d¡ }t ||¡ tj d¡ | }t ||¡ d}tj	t
|d��  tj d¡|  W d   ƒ n1 s²0    Y  d S )Nr!  r"  z20130101 9:00:55z20130101 9:01:55rK   ú((bad|unsupported) operand type for unaryrL   )r   r   r#   r$   re   r#  r$  r%   rO   rP   rQ   )r&   r(   rX   r/   r.   r%  rR   r0   r0   r1   Ú'test_dt64arr_series_sub_tick_DateOffset×  s    ÿzJTestDatetime64DateOffsetArithmetic.test_dt64arr_series_sub_tick_DateOffsetÚcls_name)ÚDayÚHourÚMinuter$  ÚMilliZMicroZNanoc                 C   sT   t tdƒtdƒgƒ}t ||¡}ttj|ƒ}||dƒ  |dƒ|  ||dƒ  d S )Nr!  r"  rK   )r   r   r#   r$   r“   re   r#  )r&   r)  r(   rX   Ú
offset_clsr0   r0   r1   Ú*test_dt64arr_add_sub_tick_DateOffset_smokeë  s    zMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_tick_DateOffset_smokec           
   	   C   s0  |}|dkrJt dd|d�}|tj d¡ }|d tj d¡ |d ksJJ ‚t dd|dd	�}tg d
¢d|d�}t ||¡}t ||¡}tj d¡t dd¡t	dd�fD ]†}|| }t 
||¡ || }t 
||¡ || }t 
||¡ d ddg¡}	tjt|	d�� ||  W d   ƒ q¤1 �s 0    Y  q¤d S )Nr»   z
2012-11-01r   r   rK   r   z2010-11-01 00:00r  rè   )z2010-11-01 05:00z2010-11-01 06:00z2010-11-01 07:00)rB   r   rJ   )Úhoursr  zbad operand type for unary -zcannot subtract DatetimeArrayrL   )r   re   r#  r+  r   r#   r$   r!   rê   r   r%   r  rO   rP   rQ   )
r&   rÇ   r(   r   r�   Úoffsetr/   ZscalarZ	roundtriprR   r0   r0   r1   Útest_dti_add_tick_tzawareù  s2     ý$ÿz<TestDatetime64DateOffsetArithmetic.test_dti_add_tick_tzawarec           
   
      s´  t tdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒgƒ}t ||¡}|tju rX|jd	 n|}g d
¢}t|ƒD �]@\}\}}tf i ||i¤Ž‰ t ‡ fdd„|D ƒƒ}t ||¡}t 	||ˆ  ¡ t ‡ fdd„|D ƒƒ}t ||¡}t 	||ˆ  ¡ tf i t
|d |d … ƒ¤Ž‰ t ‡ fdd„|D ƒƒ}t ||¡}t 	||ˆ  ¡ t ‡ fdd„|D ƒƒ}t ||¡}t 	||ˆ  ¡ d}	tjt|	d�� ˆ |  W d   ƒ ql1 �s¤0    Y  qld S )Nú2000-01-05 00:15:00ú2000-01-31 00:23:00rÐ   ú
2000-03-31ú
2000-02-29ú
2000-12-31ú
2000-05-15ú
2001-06-15r   ))Úyearsr6   )ÚmonthsrK   )r8   r   )r0  rK   )Úminutesr;   )Úsecondsr6   )ÚmicrosecondsrK   c                    s   g | ]}|ˆ  ‘qS r0   r0   r€   ©Úoffr0   r1   r„   ;  r…   zaTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsets.<locals>.<listcomp>c                    s   g | ]}|ˆ  ‘qS r0   r0   r€   r?  r0   r1   r„   ?  r…   r9   c                    s   g | ]}|ˆ  ‘qS r0   r0   r€   r?  r0   r1   r„   E  r…   c                    s   g | ]}|ˆ  ‘qS r0   r0   r€   r?  r0   r1   r„   I  r…   r'  rL   )r   r   r#   r$   re   r–   ÚilocÚ	enumerater
   r%   ÚdictrO   rP   rQ   )
r&   r(   ÚvecÚ	vec_itemsZrelative_kwargsr  ÚunitÚvaluer/   rR   r0   r?  r1   Ú*test_dt64arr_add_sub_relativedelta_offsets  s@    øÿ	zMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsetsÚcls_and_kwargsZ	YearBeginÚmonthrK   ZYearEndZ
MonthBeginÚMonthEndZSemiMonthEndZSemiMonthBeginZWeekÚweekdayr   rº   ZBusinessDayZBDayZ
QuarterEndZQuarterBeginZCustomBusinessDayZCDayZ
CBMonthEndZCBMonthBeginZBMonthBeginZ	BMonthEndZBusinessHourZ
BYearBeginZBYearEndZBQuarterBeginÚLastWeekOfMonthr6   ÚFY5253Quarterr9   Znearest)Zqtr_with_extra_weekÚstartingMonthrL  Ú	variationÚFY5253r   )rL  rO  rP  ÚWeekOfMonth)rL  ÚweekZEasterr
   Údayr   Ú	normalizeTFÚnc              
      s¾  t |tƒr|\}}n|}i }|dkr0|dv r0d S ttdƒtdƒtdƒtdƒtdƒtdƒtd	ƒtd
ƒgƒ}t ||¡}|tju rˆ|jd n|}t	tj
|ƒ}	tjdd��� t dt¡ |	|fd|i|¤Ž‰ t‡ fdd„|D ƒƒ}
t |
|¡}
t |
|ˆ  ¡ t‡ fdd„|D ƒƒ}
t |
|¡}
t |
|ˆ  ¡ t‡ fdd„|D ƒƒ}
t |
|¡}
t |
ˆ | ¡ d}tjt|d�� ˆ |  W d   ƒ n1 �s�0    Y  W d   ƒ n1 �s°0    Y  d S )Nr   )rR  rM  rN  rQ  r3  r4  rÐ   r5  r6  r7  r8  r9  Tr  r  rU  c                    s   g | ]}|ˆ  ‘qS r0   r0   r€   ©r1  r0   r1   r„   µ  r…   zWTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsets.<locals>.<listcomp>c                    s   g | ]}|ˆ  ‘qS r0   r0   r€   rW  r0   r1   r„   ¹  r…   c                    s   g | ]}ˆ | ‘qS r0   r0   r€   rW  r0   r1   r„   ½  r…   r'  rL   )r¤   Útupler   r   r#   r$   re   r–   rA  r“   r#  r  r  r  r	   r%   rO   rP   rQ   )r&   r(   rV  rU  rI  r)  ÚkwargsrD  rE  r.  r/   rR   r0   rW  r1   Ú test_dt64arr_add_sub_DateOffsetsU  sF    6

øÿzCTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsetsc                 C   sÄ  t dddd�}t ||¡}|tdd� }tdd�| }t dddd� d ¡}t ||¡}t ||¡ t ||¡ |tdd� }t d	d
dd� d ¡}t ||¡}t ||¡ ttddd�tddd�gdd�}t ||¡}|tj	 
¡  }tj	 
¡ | }ttddd�tddd�gdd�}t ||¡}t ||¡ t ||¡ ttddd�tddd�gdd�}t ||¡}|tj	 ¡  }tj	 ¡ | }ttddd�tddd�gdd�}t ||¡}t ||¡ t ||¡ d S )NrÐ   z
2000-01-31ÚarŽ   r9   ©r:  z
2001-01-01z
2001-01-31z
1999-01-01z
1999-01-31z2000-01-15 00:15:00z
US/CentralrT   z
2000-02-15z2000-01-16 00:15:00z
2000-02-16z2000-01-31 00:15:00r6  )r   r#   r$   r
   rð   r%   r   r   re   r#  r*  rK  )r&   r(   Úsr.   r%  Úexpr0   r0   r1   Útest_dt64arr_add_sub_DateOffsetÄ  s`    

þû

þû

þû

þûzBTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsetr+   ©rV  r\  rt   Ú	box_otherc           
         s¾   |}t dd|d�‰ t ˆ |¡}t tj ¡ tjjdd�g¡‰t	‡ ‡‡fdd„t
tˆ ƒƒD ƒƒ}t ||¡}|rzt ˆ|¡‰t t¡� ˆ|ˆƒ}	W d   ƒ n1 s¤0    Y  t |	|¡ d S )Nú
2017-01-01r6   r   r`  c                    s   g | ]}ˆˆ | ˆ| ƒ‘qS r0   r0   ©r�   rV  ©r*   rt   r+   r0   r1   r„     r…   zXTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_array.<locals>.<listcomp>)r   r#   r$   r!   r"   re   r#  rK  r*  r   rc   r¢   r˜   r	   r%   )
r&   r'   r(   ra  rt   r+   r   r,   r/   Úresr0   rd  r1   Ú!test_dt64arr_add_sub_offset_arrayþ  s    "(zDTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_arrayzop, offset, exp, exp_freqÚ__add__r;   )r;  r8   z
2014-04-11z
2015-04-11z
2016-04-11z
2017-04-11N)r;  z
2014-04-01z
2015-04-01z
2016-04-01z
2017-04-01zAS-APRÚ__sub__z
2013-09-21z
2014-09-21z
2015-09-21z
2016-09-21z
2013-10-01z
2014-10-01z
2015-10-01z
2016-10-01zAS-OCTc                 C   s^   |}t ddd|d�}t ||d¡}t||ƒ}	|	|ƒ}
t||d�}t ||d¡}t |
|¡ d S )Nz01 Jan 2014z01 Jan 2017ZAS)ÚstartÚendrB   r   FrT   )r   r#   r$   r“   r   r%   )r&   rt   r1  r^  Zexp_freqrÇ   r(   r   r`   Zmthr.   r/   r0   r0   r1   Ú#test_dti_add_sub_nonzero_mth_offset   s    5
zFTestDatetime64DateOffsetArithmetic.test_dti_add_sub_nonzero_mth_offset)rZ   r[   r\   r&  r(  rO   r]   r^   r/  r2  rH  rZ  r_  r!   r"   re   r#  rK  r*  r
   r”   Úaddr   ÚraddÚsubrf  r   rk  r0   r0   r0   r1   r   À  sØ   ÿ
$8




üþ	

×þ.?:ÿýþ

ü÷ü÷
ü÷ü÷Þþ1r   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestDatetime64OverflowHandlingc                 C   s^   t tdƒgƒ}t tgƒ}t ||¡}t ||¡}ttgƒ}t ||¡}|| }t ||¡ d S )Nz
1969-12-31)r   r   r   r#   r$   r   r%   )r&   r(   rw   rx   r/   r.   r0   r0   r1   Útest_dt64_overflow_maskingc  s    

z9TestDatetime64OverflowHandling.test_dt64_overflow_maskingc                 C   s�  t dƒ}tdƒ}tdddd�}t|ƒ}d}tjt|d�� ||  W d   ƒ n1 sV0    Y  tjt|d�� ||  W d   ƒ n1 sŒ0    Y  tjt|d�� ||  W d   ƒ n1 sÂ0    Y  tjt|d�� ||  W d   ƒ n1 sø0    Y  t|jd	< tg d
¢dd�}|| }t	 
||¡ || }t	 
||¡ t|jdd …< tg d¢dd�}|| }t	 
||¡ || }t	 
|| ¡ d S )Nz
1700-01-31z
20000 Daysz
1949-09-30Z100Yr   rA   úOverflow in int64 additionrL   r4   )z
2004-10-03z
2104-10-04z
2204-10-04r   r  rU   r9   )z
91279 Daysr   r   r   rö   )r   r   r   r   rO   rP   ÚOverflowErrorr   rA  r#   rr   )r&   ÚdtÚtdr*   rX   rR   r/   re  r0   r0   r1   Útest_dt64_series_arith_overflowq  s6    &&&&
ÿz>TestDatetime64OverflowHandling.test_dt64_series_arith_overflowc              	   C   sl  t  dtjg¡}t  dtjg¡}tdƒ}|| ¡ | ¡  d¡| ¡  d¡g}tdƒ}|| ¡ | ¡  d¡| ¡  d¡g}d}|D ]:}tj	t
|d�� ||  W d   ƒ q€1 s°0    Y  q€tjj|j }	|D ]}|| }
|
d j|	ksÎJ ‚qÎtjj|j }	|D ]"}|| }
|
d j|	k�s J ‚�q |D ]>}tj	t
|d�� ||  W d   ƒ n1 �sZ0    Y  �q(d S )	Nú2021-12-28 17:19ú
1950-01-01r  zdatetime64[D]ú
1980-01-01rq  rL   r9   )re   Úto_datetimer   ÚmaxÚminrþ   r£   rd   rO   rP   rr  rG  )r&   ÚdtimaxÚdtiminZtsnegZts_neg_variantsZtsposZts_pos_variantsrR   Úvariantr/   re  r0   r0   r1   Ú)test_datetimeindex_sub_timestamp_overflow‘  s:    üü(zHTestDatetime64OverflowHandling.test_datetimeindex_sub_timestamp_overflowc                 C   s¸  t  dtjg¡}t  dtjg¡}t  ddg¡}t  ddg¡}tjj|d j }|| }|d j|kshJ ‚tjj|d j }|| }|d j|ks”J ‚d}tjt|d�� ||  W d   ƒ n1 sÄ0    Y  tjt|d�� ||  W d   ƒ n1 sú0    Y  t  tjg¡}|t	j t	dƒ }	tjt|d�� |	|  W d   ƒ n1 �sR0    Y  t  tjg¡}
|
t	j t	dƒ }tjt|d�� |
|  W d   ƒ n1 �sª0    Y  d S )Nrv  rw  rx  r9   rq  rL   Z1us)
re   ry  r   rz  r{  rG  rO   rP   rr  r   )r&   r|  r}  Zts_negZts_posr/   r.   rR   Ztminrä   Ztmaxrå   r0   r0   r1   Ú-test_datetimeindex_sub_datetimeindex_overflow·  s.    &&(zLTestDatetime64OverflowHandling.test_datetimeindex_sub_datetimeindex_overflowN)rZ   r[   r\   rp  ru  r  r€  r0   r0   r0   r1   ro  `  s    &ro  c                   @   sþ   e Zd Zdd„ Zdd„ Zdd„ Zej de	dƒe	d	ƒe
ge	d
ƒe	dƒe	dƒgddgge	dƒe	d	ƒe
geddd�eddd�e
gg d¢ge	ddd�e	ddd�e
geddd�e
eddd�gg d¢gg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#S )$ÚTestTimestampSeriesArithmeticc                 C   s’   t dd�}t dd�}||ƒ}||ƒ}t ||| ¡ t ||| ¡ t ||| ¡ d}tjt|d�� ||  W d   ƒ n1 s„0    Y  d S )NzM8[ns]rU   rÍ   ré   rL   )r   r#   r%   rO   rP   rQ   )r&   r(   r[  ÚbrR   r0   r0   r1   Útest_empty_series_add_subÛ  s    

z7TestTimestampSeriesArithmetic.test_empty_series_add_subc                 C   sž   t tddd�gd ƒ}tj|jd< t tdƒtdƒtdƒgƒ}tj|jd< t tdƒtd	ƒtd
ƒgƒ}||  ||  ||  ||  ||  ||  ||  d S )NrK   r   ©r<  r=  r6   Ú20111230rœ   Z20120103Ú20111231Ú20120102Ú20120104)r   r   r!   ra   rA  r   )r&   Útd1Údt1Údt2r0   r0   r1   Útest_operators_datetimelikeè  s,    ýÿýÿz9TestTimestampSeriesArithmetic.test_operators_datetimelikec                 C   sV   t tddddddƒƒ}tdddddƒ}t|gƒ}t t || ¡¡}|jd	ksRJ ‚d S )
NiÉ  r9   é   é   é   r   rº   é   rö   )r   r   r   re   Zto_timedeltar!   ÚabsrV   )r&   rW   rs  rX   r.   r0   r0   r1   Útest_dt64ser_sub_datetime_dtype
  s
    
z=TestTimestampSeriesArithmetic.test_dt64ser_sub_datetime_dtypezleft, right, op_failr…  rœ   r†  r‡  rˆ  rh  Ú__rsub__rK   r   r„  )rg  Ú__radd__rh  rÞ   rT   c           	      C   sl   |}t |ƒ}t |ƒ}t||d ƒ}||vr`tjtdd�� ||ƒ W d   ƒ qh1 sT0    Y  n||ƒ d S )Nz%operate|[cC]annot|unsupported operandrL   )r   r“   rO   rP   rQ   )	r&   rw   rx   Zop_failZall_arithmetic_operatorsZop_strZarg1Zarg2rt   r0   r0   r1   Ú#test_operators_datetimelike_invalid  s    ÿ(zATestTimestampSeriesArithmetic.test_operators_datetimelike_invalidc                 C   sl   t tddd�gƒ}t tddd�gƒ}|| }t tdƒgƒ}t ||¡ || }t tdƒgƒ}t ||¡ d S )Nz
2016-02-10zAmerica/Sao_PaulorT   z
2016-02-08Z2daysz-2days)r   r   r   r#   rr   )r&   Ús1Ús2r.   r/   r0   r0   r1   Útest_sub_single_tzC  s    z0TestTimestampSeriesArithmetic.test_sub_single_tzc                 C   sT   t dddd�}t|ƒ}ttdgd ƒƒ}|| }t ||¡ || }t ||¡ d S )Nz
1999-09-30r;   r»   r   Z0days)r   r   r   r#   rr   )r&   r*   rX   r/   re  r0   r0   r1   Útest_dt64tz_series_sub_dtitzN  s    z:TestTimestampSeriesArithmetic.test_dt64tz_series_sub_dtitzc                 C   sh   t tddddtjd�tgƒ}tddddtjd�}t tdƒtgƒ}t || |¡ t |t|ƒ |¡ d S )Nr©   é   é   é   )r«   r�  rk   )	r   r   ÚpytzÚutcr   r   r#   rr   r   )r&   r]  rs  r^  r0   r0   r1   Útest_sub_datetime_compatZ  s
    z6TestTimestampSeriesArithmetic.test_sub_datetime_compatc                 C   s    t tdƒtdƒgƒ}|tj d¡ }tj d¡| }t tdƒtdƒgƒ}t ||¡ t ||¡ |tj d¡ tj d¡ }t tdƒtdƒgƒ}t ||¡ d S )Nr!  r"  rK   z20130101 9:01:00.005z20130101 9:02:00.005z20130101 9:06:00.005z20130101 9:07:00.005)r   r   re   r#  r-  r#   rr   r,  )r&   r]  r.   r%  r/   r0   r0   r1   Ú*test_dt64_series_add_mixed_tick_DateOffsetb  s    ÿÿzHTestTimestampSeriesArithmetic.test_dt64_series_add_mixed_tick_DateOffsetc                 C   s
  t ttdƒgƒ}t ttgdd�}t tgdd�}t t | |¡ d}tjt|d�� | |  W d   ƒ n1 sr0    Y  t t | |¡ tjt|d�� | |  W d   ƒ n1 s¼0    Y  t |t |¡ t t| |¡ t |t |¡ t t| |¡ d S )Nrõ   r  rU   z-bad operand type for unary -: 'DatetimeArray'rL   )r   r   r   r#   rr   rO   rP   rQ   )r&   Údatetime_seriesÚnat_series_dtype_timestampÚsingle_nat_dtype_datetimerR   r0   r0   r1   Útest_datetime64_ops_natu  s0    (
ÿ(ÿÿÿÿz5TestTimestampSeriesArithmetic.test_datetime64_ops_natc           	      C   sB  d}t tdd|d�dd�}| ¡ }tj|jd< t tjddd	d
�ƒ}| ¡ }tj|jd< |jj	d u sfJ ‚||d  }|j
 d ¡|d  j
 |¡}t ||¡ ||d  }|j
 d ¡|d  j
 |¡}t ||¡ |d | }|j
 d ¡|d  j
 |¡}t ||¡ |d | }|j
 d ¡|d  j
 |¡}t ||¡ ||d  }|j
 d ¡|d  j
 |¡}t ||¡ d}tjt|d�� |d |  W d   ƒ n1 �s 0    Y  ||d  }|j
 d ¡|d  j
 |¡}t ||¡ tjt|d�� |d |  W d   ƒ n1 �s0    Y  || }|j
 d ¡| j
 |¡}t ||¡ || }|j
 d ¡| j
 |¡}t ||¡ || }|j
 d ¡| j
 |¡}t ||¡ || }|j
 d ¡| j
 |¡}t ||¡ d}tjt|d�� ||  W d   ƒ n1 �sü0    Y  tjt|d�� ||  W d   ƒ n1 �s40    Y  d S )NrÞ   z2000-01-01 09:00:00rK   r   r3   rŽ   r6   z1 days 1 minr  )r   rB   r9   r   r'  rL   r  )r   r   r’   r!   ra   rA  re   rf   Ú_valuesrB   rs  rÀ   r#   rr   rO   rP   rQ   )	r&   r   rŠ  r‹  r‰  Ztd2r.   r^  rR   r0   r0   r1   Ú*test_operators_datetimelike_with_timezones™  s`    ,,(zHTestTimestampSeriesArithmetic.test_operators_datetimelike_with_timezonesN)rZ   r[   r\   rƒ  rŒ  r’  rO   r]   r^   r   r   r   r•  r˜  r™  rŸ  r   r¤  r¦  r0   r0   r0   r1   r�  Ú  s:   "ýý

ýùõþ
$r�  c                   @   s²   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Ze	j
 dejejg¡dd„ ƒZdd„ Zdd„ Zdd„ Ze	j
 dejejejg¡dd„ ƒZe	j
 dejejg¡dd„ ƒZdS )ÚTestDatetimeIndexArithmeticc                 C   s˜   |}t td|d�gd ƒ}tjddd�}tdd|d�}| d ¡}|| }t ||¡ || }t ||¡ ||j }t ||¡ |j| }t ||¡ d S ©Nrb  rT   r;   ú0 daysr>   r   ©	r   r   re   rf   r   rð   r#   Úassert_index_equalr¼   ©r&   r'   r   r*   rí   r/   r.   r0   r0   r1   Útest_dti_add_tdiÜ  s    


z,TestDatetimeIndexArithmetic.test_dti_add_tdic                 C   sÞ   |}t td|d�gd ƒ}tjddd�}tdd|d�}| d ¡}t td|d�gd ƒ}||7 }t ||¡ tjddd�}||7 }t ||¡ t td|d�gd ƒ}||j7 }t ||¡ tjddd�}||7 }t ||¡ d S r¨  rª  r¬  r0   r0   r1   Útest_dti_iadd_tdiò  s"    

z-TestDatetimeIndexArithmetic.test_dti_iadd_tdic                 C   sæ   |}t td|d�gd ƒ}tjddd�}tdd|dd�}| d ¡}|| }t ||¡ d}tj	t
|d	�� ||  W d   ƒ n1 s†0    Y  ||j }t ||¡ d
}tj	t
|d	�� |j|  W d   ƒ n1 sØ0    Y  d S )Nrb  rT   r;   r©  r>   ú-1Drè   z cannot subtract .*TimedeltaArrayrL   ú0cannot subtract a datelike from a TimedeltaArray)r   r   re   rf   r   rð   r#   r«  rO   rP   rQ   r¼   )r&   r'   r   r*   rí   r/   r.   rR   r0   r0   r1   Útest_dti_sub_tdi  s    
&
z,TestDatetimeIndexArithmetic.test_dti_sub_tdic           
      C   sš  |}t td|d�gd ƒ}tjddd�}tdd|dd�}| d ¡}t td|d�gd ƒ}||8 }t ||¡ |j 	¡ }||8 }t 
||j¡ |j 	¡ }tj|||d� t 
||j¡ d	}	tjt|	d
�� ||8 }W d   ƒ n1 sä0    Y  t td|d�gd ƒ}||j8 }t ||¡ tjt|	d
�� | j|8  _W d   ƒ n1 �sN0    Y  tjt|	d
�� | j|8  _W d   ƒ n1 �sŒ0    Y  d S )Nrb  rT   r;   r©  r>   r¯  rè   )Úoutr°  rL   )r   r   re   rf   r   rð   r#   r«  rF   r’   Zassert_datetime_array_equalr!   ÚsubtractrO   rP   rQ   r¼   r¥  )
r&   r'   r   r*   rí   r/   r.   rG   r²  rR   r0   r0   r1   Útest_dti_isub_tdi$  s0    


&
.z-TestDatetimeIndexArithmetic.test_dti_isub_tdic                 C   sp   t dd|d�}|j}|| }|| }t ||¡ |}|| }|| }t ||¡ || }|| }t ||¡ d S )Nr   r   r   )r   r"   r#   r«  )r&   r'   r*   rG   r.   r/   rí   r0   r0   r1   Útest_dta_add_sub_indexP  s    z2TestDatetimeIndexArithmetic.test_dta_add_sub_indexc                 C   st  t ddd�}t ddd� d¡}tg d¢ƒ}|| }t ||¡ || }t ||¡ d}tjt|d�� ||  W d   ƒ n1 s‚0    Y  tjt|d�� ||  W d   ƒ n1 s¸0    Y  ||8 }t ||¡ t ddd�}t ddd�}d	}tjt|d�� ||  W d   ƒ n1 �s 0    Y  t	d
t
jdgƒ}t	ddt
jgƒ}tdt
jt
jgƒ}|| }t ||¡ d S )Nr   r   r>   rÞ   )r   r   r   râ   rL   r   z$cannot add indices of unequal lengthr  z
2012-01-03z
2012-01-02rk   )r   rÀ   r   r#   r«  rO   rP   rQ   Ú
ValueErrorr   r!   ra   )r&   r*   r÷   r/   r.   rR   Zdti1rÿ   r0   r0   r1   Útest_sub_dti_dtia  s0    &&(z,TestDatetimeIndexArithmetic.test_sub_dti_dtirt   c                    s¤   t tdƒtdƒtdƒtdƒgƒ}||ƒ}g d¢‰ ‡ fdd„}ttdƒgd	 Ž D ]P\}}}}	}
|||||	|
ƒ}t||||	|
d
�}|||ƒ}|||ƒ}t ||¡ qNd S )NZ20130301z20130228 23:00:00z20130228 22:00:00z20130228 21:00:00)r@   rJ   Úmr]  Úusc                     s   t  ttt jt| ˆ ƒƒƒ¡S rÎ   )r!   Úsumrb   r   rê   Úzip)Úargs©Z	intervalsr0   r1   rê   ™  s    z_TestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_ops.<locals>.timedelta64r6   rK   )r8   r0  r<  r=  r>  )r   r   r   rc   r   r#   r%   )r&   rt   r(   rX   rH   rê   ÚdrJ   r¸  r]  r¹  ZnptdZpytdr­   r®   r0   r½  r1   Ú.test_timedelta64_equal_timedelta_supported_ops‹  s     üÿ 

zJTestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_opsc                 C   s^  t ttdƒgƒ}t ttdƒgƒ}t ttgdd�}t ttgdd�}t tgdd�}t tgdd�}t || |¡ t || |¡ t | | |¡ t || |¡ t || |¡ t | | |¡ d}tjt|d�� ||  W d   ƒ n1 sð0    Y  t || |¡ t || |¡ t || |¡ t || |¡ t || |¡ t || |¡ d S )NZ1srõ   rö   rU   r  zcannot subtract a datelikerL   )	r   r   r   r   r#   rr   rO   rP   rQ   )r&   Ztimedelta_seriesr¡  Znat_series_dtype_timedeltar¢  r£  Zsingle_nat_dtype_timedeltarR   r0   r0   r1   Ú)test_ops_nat_mixed_datetime64_timedelta64¥  sl    ÿÿ
ÿþþþ&þþþþþþzETestDatetimeIndexArithmetic.test_ops_nat_mixed_datetime64_timedelta64c                 C   sš  t ddddd�}t dd¡}t ddddd�}|| t ||¡fD ],}t|tƒsRJ ‚t ||¡ |jdks@J ‚q@t d	dddd�}|| t 	||¡fD ],}t|tƒs¤J ‚t ||¡ |jdks’J ‚q’| 
d ¡}t t dd¡t d
d¡t dd¡g¡}tg d¢dd�}|| t ||¡fD ]$}t ||¡ |j|jk�sJ ‚�qtg d¢dd�}|| t 	||¡fD ]4}t|tƒ�stJ ‚t ||¡ |j|jk�s`J ‚�q`d S )Nri   r   Z2Dr‚   )r   rB   r�   r9   r@   r  ú
2010-12-31r6   )r  z
2011-01-05z
2011-01-08rŽ   )rÁ  ri   r  )r   r!   rê   rl  r¤   r   r#   r«  rB   r³  rð   r"   )r&   rñ   Údeltar^  r.   r0   r0   r1   Útest_ufunc_coercionsê  s2    
 ÿz0TestDatetimeIndexArithmetic.test_ufunc_coercionsc                 C   sÔ   |}t ddg||d d�}ttdd�gd ||d d	�}t|tdd� ||d d	�}|d |_|j|jksnJ ‚|| }t ||¡ || }t ||¡ |tdd� }|j| }	t |	|¡ ||j }
t |
|¡ d S )
Nz2016-06-28 05:30z2016-06-28 05:31r   )r   r�   rK   )r=  r6   r9   )r¦   r�   )	r   r   r   r�   rV   r#   rr   r¼   r«  )r&   r'   Únamesr   r¦   rX   r/   r.   r%  Zresult3Zresult4r0   r0   r1   Útest_dti_add_series	  s"    ÿ


z/TestDatetimeIndexArithmetic.test_dti_add_seriesc           
         sÆ   |}|}t dd||d d�‰ |tj ¡ tjjdd�g|d d�‰tˆ ˆƒ}t t¡� ˆˆ ˆƒ}W d   ƒ n1 st0    Y  t	‡ ‡‡fdd	„t
tˆ ƒƒD ƒ|d d
d�}	t |	|¡}	t ||	¡ d S )Nrb  r6   r   )r   r   r�   r`  r9   rŽ   c                    s   g | ]}ˆˆ | ˆ| ƒ‘qS r0   r0   rc  rd  r0   r1   r„   5	  r…   zPTestDatetimeIndexArithmetic.test_dti_addsub_offset_arraylike.<locals>.<listcomp>Zinfer)r�   rB   )r   re   r#  rK  r*  r   r#   r˜   r	   r   rc   r¢   r$   r%   )
r&   r'   rÄ  rt   rs   Ú	other_boxr   r-   re  r/   r0   rd  r1   Ú test_dti_addsub_offset_arraylike$	  s    $
($ÿz<TestDatetimeIndexArithmetic.test_dti_addsub_offset_arraylikerÆ  c                 C   sø   |}t dd|d�}t ||¡}|tj ¡ tdd�gƒ}t||ƒ}tddg|d�}	t |	|¡}	t 	t
¡� || }
W d   ƒ n1 s„0    Y  t |
|	¡ td	d
g|d�}	t |	|¡}	t 	t
¡� || }
W d   ƒ n1 sÞ0    Y  t |
|	¡ d S )Nrb  r6   r   r   r7   z
2017-01-31z
2017-01-06rT   z
2016-12-31z
2016-12-29)r   r#   r$   re   r#  rK  r   r   r   r˜   r	   r%   )r&   r'   r(   rÆ  r   r*   r,   r+   r-   r/   r.   r0   r0   r1   Ú test_dti_addsub_object_arraylike:	  s    
&&z<TestDatetimeIndexArithmetic.test_dti_addsub_object_arraylikeN)rZ   r[   r\   r­  r®  r±  r´  rµ  r·  rO   r]   r^   r”   rl  rn  r¿  rÀ  rÃ  rÅ  r   rm  rÇ  re   r·   r!   r"   rÈ  r0   r0   r0   r1   r§  Ø  s   ,*
E#
r§  r:  )r4   r   r9   r;  )éþÿÿÿr   r6   c                    sj   t tdƒtdƒtdƒtdƒtdƒgƒ}t t|jˆd ˆ  ƒƒ}‡ ‡fdd„|D ƒ}t |ƒ}t ||¡ d S )	Nr3  r4  rÐ   r6  r7  rœ  c                    s    g | ]}|t jjˆˆ d � ‘qS ))r:  r;  )re   r#  r
   r€   ©r;  r:  r0   r1   r„   b	  r…   z%test_shift_months.<locals>.<listcomp>)r   r   r   rÖ   r#   r«  )r:  r;  r*   ÚactualÚrawr/   r0   rÊ  r1   Útest_shift_monthsT	  s    ûÿ	rÍ  c                  C   st  t dddd�} | j d¡}t dd„ tdƒD ƒ¡}|j|jksBJ ‚t t	¡� || }W d   ƒ n1 sj0    Y  t t	¡�8 |d d …df |d d …df   d	d
¡}W d   ƒ n1 s¼0    Y  t
|tƒsÔJ ‚|jd u sâJ ‚t |j|j¡ t t	¡� || t¡ }W d   ƒ n1 �s"0    Y  t
|tƒ�s<J ‚|jdk�sLJ ‚|jd u �s\J ‚|jdk ¡ �spJ ‚d S )Nz
1994-02-13Z2Wr   rA   )r   r9   c                 S   s   g | ]}t j |¡g‘qS r0   )re   r#  r*  rc  r0   r0   r1   r„   m	  r…   z7test_dt64arr_addsub_object_dtype_2d.<locals>.<listcomp>r   r4   r9   )r   rF   Zreshaper!   r"   rc   Úshaper#   r˜   r	   r¤   r   rB   rN   rd   r_   r   rÖ   rÁ   )r*   rG   r+   r.   r/   r%  r0   r0   r1   Ú#test_dt64arr_addsub_object_dtype_2dg	  s"    &F.rÏ  )6r   r   r   Ú	itertoolsr   r   r”   r  Únumpyr!   rO   r�  Zpandas._libs.tslibs.conversionr   Zpandas._libs.tslibs.offsetsr   Zpandas.errorsr	   Zpandasre   r
   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr#   Zpandas.core.arraysr   r   Zpandas.core.opsr   Zpandas.tests.arithmetic.commonr   r   r   r   r   rg   r    rØ   r   ro  r�  r§  r]   r^   rÍ  rÏ  r0   r0   r0   r1   Ú<module>   sR   ,p Z      )   #z     ~