a
    é´«j�` ã                   @   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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  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ƒZ,G dd„ dƒZ-e	j. /dg d¢¡e	j. /dg d¢¡e	j. /dg d¢¡d d!„ ƒƒƒZ0d"d#„ Z1d$d%„ Z2d&d'„ Z3d(d)„ Z4dS )*é    )ÚdatetimeÚtimeÚ	timedelta)ÚproductÚstarmapN)Úlocalize_pydatetime)Úshift_months)ÚPerformanceWarning)	Ú
DateOffsetÚDatetimeIndexÚNaTÚPeriodÚSeriesÚ	TimedeltaÚTimedeltaIndexÚ	TimestampÚ
date_range)Ú	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© r.   úf/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/arithmetic/test_datetime64.pyÚtest_compare_zerodim5   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*   r.   r.   r/   Útest_dt64arr_cmp_scalar_invalidD   s    zBTestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_scalar_invalidr9   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Únsr9   ©r@   r   r   )r   Ú_datar!   r"   r   )r$   r)   r%   r&   r   ÚdtaÚobjr.   r.   r/   Ú"test_dt64arr_cmp_arraylike_invalid^   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 )NrA   Úhé   rC   r   r7   r4   r   r5   )FFFTFzDInvalid comparison between|Cannot compare type|not supported between©Úmatch)
r   rD   r   r    r   r!   Úassert_numpy_array_equalÚpytestÚraisesÚ	TypeError)r$   r%   r   rE   r)   r,   r-   Úmsgr.   r.   r/   Útest_dt64arr_cmp_mixed_invalidw   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ÚserrF   r+   r-   r,   r.   r.   r/   Útest_dt64arr_nat_comparisonŽ   s    z>TestDatetime64ArrayLikeComparisons.test_dt64arr_nat_comparison)Ú__name__Ú
__module__Ú__qualname__r0   rM   ÚmarkÚparametrizeÚobjectr   r   Údater   Únanr;   ÚlistÚrangeZarangeÚastypeZfloat32ÚpdÚtimedelta_ranger    Zperiod_rangerG   rQ   rW   r.   r.   r.   r/   r   0   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©r@   z2011-03ÚreverseTFrT   Nzop, expected©FFT©TTF©FFFc                 C   sL   |}|\}}	|r|	| }}	t ||d�}
||	|d�}||
|ƒ}t ||¡ d S )NrS   )r   r!   Úassert_series_equal)r$   rT   Úindex_or_seriesrl   rf   Úopr-   r'   ÚlhsÚrhsÚleftÚrightr,   r.   r.   r/   Ú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 )NrS   Tro   Úbool©TTT)	r   r!   r"   r   r   rc   r    r]   r#   )r$   rT   rx   r&   r'   ru   r+   r-   r.   r.   r/   Útest_nat_comparisons_scalar×   s8    
z:TestDatetime64SeriesComparison.test_nat_comparisons_scalarÚvaliÐ  r7   é   rI   c                    s>   t tddd�ƒ}|ˆ k}t ‡ fdd„|D ƒƒ}t ||¡ d S )Nr8   r9   r<   c                    s   g | ]}|ˆ k‘qS r.   r.   ©Ú.0Úx©r|   r.   r/   Ú
<listcomp>	  ó    zQTestDatetime64SeriesComparison.test_series_comparison_scalars.<locals>.<listcomp>)r   r   r!   rp   )r$   r|   Zseriesr,   r-   r.   r�   r/   Ú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20010101r9   r<   Údates©ÚnameT)ÚdeepÚnatr   r   Z20010109)	r   r   Úcopyr   ÚgetattrÚoperatorr!   rp   r   )	r$   ru   rv   rV   Zs_natZleft_fZright_fr-   r,   r.   r.   r/   Útest_timestamp_compare_series  s$    



z<TestDatetime64SeriesComparison.test_timestamp_compare_seriesc                 C   sB  |}t tdƒtdƒtgƒ}t ||¡}t||dƒ}||k}t g d¢|¡}t ||¡ |tju rœt	j
tdd�� ||d k W d   ƒ qÄ1 s�0    Y  n(||d k}t g d¢|¡}t ||¡ |tju �rt	j
tdd�� ||d	 k W d   ƒ n1 �s0    Y  n(||d	 k}t g d
¢|¡}t ||¡ ||k}t g d¢|¡}t ||¡ |tju �r¤t	j
tdd�� ||d k W d   ƒ n1 �s˜0    Y  n(||d k}t g d¢|¡}t ||¡ |tju �rt	j
tdd�� ||d	 k W d   ƒ n1 �s
0    Y  n(||d	 k}t g d¢|¡}t ||¡ d S )Nz2000-01-29 01:59:00z
2000-01-30Trm   znot alignedrJ   r   )FTTr4   rz   rn   r   ro   )r   r   r   r!   r"   r   r#   rc   Ú	DataFramerM   rN   Ú
ValueError)r$   r&   r'   rV   r+   r,   r-   r.   r.   r/   Útest_dt64arr_timestamp_equality/  sD    
,...z>TestDatetime64SeriesComparison.test_dt64arr_timestamp_equalityÚdatetimeliker   iÝ  z2013-01-01T00:00rB   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   r_   r!   rp   )r$   r—   rr   r-   rV   r,   r.   r.   r/   Ú!test_dt64_compare_datetime_scalarh  s    üù	
z@TestDatetime64SeriesComparison.test_dt64_compare_datetime_scalar)rX   rY   rZ   rM   r[   r\   r   r   r   r   r]   r’   r‰   r   rŠ   r…   r†   rˆ   r‡   rw   r{   r   r„   r“   r–   r   Ú
datetime64rš   r.   r.   r.   r/   re       st   þþþ÷þúþýþ$ 
ÿ
 9

ýþüþ	re   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¡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   sf   t ddd�}|t|ƒd  }t|ƒ ¡ }t |¡}|||ƒ}|||ƒ}t|tjƒsVJ ‚t 	||¡ d S )Nz
2020-01-01r9   r<   r4   )
r   Úlenr   Úto_datetime64r   r    Ú
isinstanceZndarrayr!   rL   )r$   Úcomparison_opÚindexÚelementZarrZ
arr_resultZindex_resultr.   r.   r/   Útest_comparatorsŒ  s    


z-TestDatetimeIndexComparisons.test_comparatorsr)   éà  r7   ú
2016-01-01c                 C   sö   |}t dd|d�}|d urHt|tjƒr<t t|ƒj› d�¡ 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¥   r4   r   z is not tz awareTF)r   rŸ   r   r›   rM   ÚskipÚtyperX   r   Útzinfor    r!   rL   )r$   r)   r%   r   r(   r,   r-   r.   r.   r/   Útest_dti_cmp_datetimelike˜  s*    z6TestDatetimeIndexComparisons.test_dti_cmp_datetimelikerT   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 )Nrg   rh   Trm   rn   ro   rz   )r   r   r   r!   r"   r   r]   rb   r   r    r#   )
r$   rT   r&   ru   rv   r+   rs   rt   r,   r-   r.   r.   r/   Ú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Þ  r7   )TFFFFF)FFFFTT)TFTFFF)FFTFTT)FFTFFF)TTFTTT)rc   ÚIndexr   r_   r   r   r    r›   r!   Úassert_produces_warningrL   r   )r$   Zfidx1Zfidx2Zdidx1Zdidx2ÚdarrZcasesZidx1Zidx2r,   r-   r|   r.   r.   r/   Ú+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   )rb   r]   ÚvaluesÚtolist©r€   r.   r.   r/   Ú<lambda>I  rƒ   zQTestDatetimeIndexComparisons.test_comparison_tzawareness_compat.<locals>.<lambda>z^Invalid comparison between dtype=datetime64\[ns.*\] and (Timestamp|DatetimeArray|list|ndarray)rJ   rS   )r   Útz_localizer!   r"   rc   r”   r`   r’   r‰   rŠ   rM   rN   rO   r   r    r]   Úall)	r$   r    r&   rr   r'   ÚdrÚdzr¹   rP   r.   r.   r/   Ú"test_comparison_tzawareness_compat=  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/AmsterdamrR   zAInvalid comparison between dtype=datetime64\[ns.*\] and TimestamprJ   )r   r¼   r!   r"   r   r   r½   r’   r‰   rŠ   rM   rN   rO   )	r$   r    r&   rr   r¾   r¿   rU   Zts_tzrP   r.   r.   r/   Ú*test_comparison_tzawareness_compat_scalarsn  s&    
((zGTestDatetimeIndexComparisons.test_comparison_tzawareness_compat_scalarsz*ignore:elementwise comp:DeprecationWarningc                 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¥   r4   r   TrS   z:Invalid comparison between dtype=datetime64\[ns, .*\] and rJ   )r   r!   r"   r   r’   r‰   rŠ   r   r    ry   r#   r§   rX   rM   rN   rO   )r$   r    r)   Útz_aware_fixturer&   rr   r   r(   r*   r+   Zexboolr-   r,   rP   r.   r.   r/   Ú"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!   rL   r¼   )r$   r    rr   r(   r-   r,   r.   r.   r/   Ú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 )Nr8   r9   r   TFé	   )r   r   r    r!   rL   )r$   r%   r   r:   r)   r,   r-   r.   r.   r/   Útest_dti_cmp_strÀ  s*    z-TestDatetimeIndexComparisons.test_dti_cmp_strc                 C   s0   t ddd�}|t|ƒk}||k}t ||¡ d S )Nr8   r9   r<   )r   r`   r!   rL   )r$   r:   r,   r-   r.   r.   r/   Útest_dti_cmp_listß  s    z.TestDatetimeIndexComparisons.test_dti_cmp_listZ1Dr9   r<   úm8[ns]c                 C   s
   t | ƒjS ©N)r§   rX   rº   r.   r.   r/   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-01r9   ú
Asia/Tokyor   FTzInvalid comparison betweenrJ   )r   r   r    r!   rL   rM   rN   rO   )r$   r)   r(   r,   r-   rP   r.   r.   r/   Ú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Ë   r9   rÌ   r   ÚOTrI   r7   r5   FzB>=' not supported between instances of 'Timestamp' and 'Timedelta'rJ   )r   rb   r   r    r!   rL   r¼   r`   r   rM   rN   rO   )r$   r(   r)   r,   r-   rP   r.   r.   r/   Útest_dti_cmp_object_dtype  s    

&z6TestDatetimeIndexComparisons.test_dti_cmp_object_dtype)rX   rY   rZ   r£   rM   r[   r\   r   r   r   r›   r©   r]   rª   rµ   rÀ   rÁ   ÚfilterwarningsrÃ   rÄ   rÆ   rÇ   rc   rd   Z	to_seriesÚasi8ÚviewrÍ   rÏ   r.   r.   r.   r/   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ej d5¡d6d7„ ƒZ ej d8e!ed9ƒed9ƒgƒe!e"ed9ƒgƒe!e"e"gd:d;�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-01rR   z2000-01-01 02:00z2000-02-01 02:00©r   r!   r"   r#   ©r$   r%   Z	two_hoursr&   r   r:   r-   r,   r.   r.   r/   Ú%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Ô   rR   z1999-12-31 22:00z2000-01-31 22:00rÕ   rÖ   r.   r.   r/   Ú%test_dt64arr_sub_timedeltalike_scalar>  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 objectsrJ   )
r   r¼   r!   r"   r   r   r#   rM   rN   rO   ©r$   r&   Út1Út2Ztnaiver,   r-   rP   r.   r.   r/   Ú.test_dt64_array_sub_dt_with_different_timezoneO  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Ý   rJ   )	r   r¼   r!   r"   r   r#   rM   rN   rO   rÞ   r.   r.   r/   Ú6test_dt64_array_sub_dt64_array_with_different_timezonej  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� 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   r@   r   rR   rB   úcannot subtractrJ   )r   r   Útimedelta64r   Úas_unitr!   r"   r#   rM   rN   rO   )
r$   r&   r%   r   r(   r)   r-   rF   r,   rP   r.   r.   r/   Ú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 unaryrJ   )	r   r   r¸   r!   r"   r#   rM   rN   rO   )r$   r%   r&   r   r(   ÚtdiZtdarrr-   r*   r,   rP   r.   r.   r/   Ú test_dt64arr_add_sub_td64ndarray›  s$    z9TestDatetime64Arithmetic.test_dt64arr_add_sub_td64ndarrayrU   ú
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&   rU   Úidxr-   r,   r.   r.   r/   Ú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-17r4   r>   rÙ   ©r   r@   r   r   r7   )r   rì   r!   r"   r   r   rå   r#   )r$   r&   rV   rU   Zdelta_seriesr-   r.   r.   r/   Ú"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�d�}t ||¡}t ||¡ | d¡}t ||¡}|t }tttgd|› d�d�}t ||¡}t ||¡ d S )NÚ19900315útimedelta64[ú]rS   rÌ   )	r   r   r   ræ   r!   r"   r   r#   r¼   )	r$   r&   Úunitr(   rV   r,   r-   Údti_tzZser_tzr.   r.   r/   Útest_dt64arr_sub_NaTÞ  s    
z-TestDatetime64Arithmetic.test_dt64arr_sub_NaTc                 C   s|   t dd|d�}|| }t ||¡}t ||¡ t¡}t t¡� || t¡ }W d   ƒ n1 sb0    Y  t ||¡ d S ©Nr¥   r   r   )r   r!   r"   rb   r]   r³   r	   r#   )r$   r&   r%   r(   r-   rF   r,   r.   r.   r/   Ú!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,   r.   r.   r/   Ú"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 datetimerJ   )r   r¸   r!   r"   rM   rN   rO   )r$   rÂ   r&   r   r(   rù   r*   rP   r.   r.   r/   Ú)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   rg   r>   )
r   r¼   r!   r"   r   r¸   Úto_pydatetimerž   r   r›   )r$   r%   r&   r   r(   Údti2r*   r.   r.   r/   Útest_dt64arr_add_dtlike_raises  s    


z7TestDatetime64Arithmetic.test_dt64arr_add_dtlike_raisesr@   )rH   r>   ÚWZ2MEZMSZQEÚBNrT   NZuint8c                 C   s  |}|d u rt ddg|d�}ntdd||d�}||ƒ}t ddg¡}	|d urV|	 |¡}	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|	ƒ|
ƒ d S )Nr   z2017-04-05 06:07:08rR   r¥   r4   rï   r}   r2   ú|)z Addition/subtraction of integersz"cannot subtract DatetimeArray fromz(can only perform ops with numeric valuesz%unsupported operand type.*Categoricalz:unsupported operand type\(s\) for -: 'int' and 'Timestamp'r7   r   rS   )r   r   r   r    rb   Újoinr   Zint64rc   ZCategoricalr²   r   )r$   ÚrequestrT   Zindex_or_series_or_arrayr@   r%   r   r(   rF   r)   rP   r.   r.   r/   Útest_dt64arr_addsub_intlike7  s(    
ÿ
z4TestDatetime64Arithmetic.test_dt64arr_addsub_intliker)   g…ëQ¸	@r­   r¬   rg   rk   r7   r4   r   Údti_freqc                 C   s:   t ddg|d�}t ||¡}d g d¢¡}t|||ƒ d S )Nrg   ú
2011-01-02rk   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*   rP   r.   r.   r/   Útest_dt64arr_add_sub_invalid_  s    ÿ	z5TestDatetime64Arithmetic.test_dt64arr_add_sub_invalidÚpi_freq)r>   rÿ   ÚQrH   c           
      C   sP   t ddg|d�}| |¡}t ||¡}t ||¡}d g d¢¡}	t|||	ƒ d S )Nrg   r  rk   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parrrP   r.   r.   r/   Útest_dt64arr_add_sub_parry  s    
ÿz2TestDatetime64Arithmetic.test_dt64arr_add_sub_parrú(ignore::pandas.errors.PerformanceWarningc                 C   s\   |}t dd|d�}dd„ tdƒD ƒ}t ||¡}t ||¡}d ddg¡}t|||d	� d S )
Nú
2012-01-01r   r   c                 S   s   g | ]}t |||ƒ‘qS r.   )r   )r   Úir.   r.   r/   r‚   •  rƒ   zTTestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raises.<locals>.<listcomp>r  r  z*cannot subtract DatetimeArray from ndarray)rP   )r   ra   r!   r"   r  r   )r$   r&   r%   r   Zobj1Úobj2rP   r.   r.   r/   Ú'test_dt64arr_addsub_time_objects_raisesŽ  s    þÿ	z@TestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raisesÚdt64_seriesrñ   údatetime64[ns]rS   Ú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 typerJ   )r!   r"   rM   rN   rO   )r$   r  r  r&   rF   rP   r.   r.   r/   Ú!test_dt64_mul_div_numeric_invalid¨  s    
&&&z:TestDatetime64Arithmetic.test_dt64_mul_div_numeric_invalid)$rX   rY   rZ   rM   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   r  r.   r.   r.   r/   rÓ   !  sb   



úþ
&

úþ

ýþrÓ   c                '   @   s¼  e Zd Zej dg d¢¡dd„ ƒZdd„ Zej dg d¢¡d	d
„ ƒZdd„ Z	ej dg d¢¡dd„ ƒZ
ej d¡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/d0œfd1d2d,d/d3œfd4d,d,d5œfd6d7d8d9ifd7ddifg!¡ej d:d;d<g¡ej d=d2dg¡ej dg d¢¡ej d>d?d@g¡dAdB„ ƒƒƒƒƒƒZej dCe ej ¡ ejjd,dD�g¡e ejjd.dE�ej ¡ g¡e ejjd.dE�ejjd.dE�g¡g¡ej dFejejejg¡dGdH„ ƒƒZej dIdJeddKdL�edMƒedNƒedOƒedPƒgd?fdJeddQ�edRƒedSƒedTƒedUƒgdVfdWeddKdL�edXƒedYƒedZƒed[ƒgd?fdWeddQ�ed\ƒed]ƒed^ƒed_ƒgd`fg¡dadb„ ƒZdcdd„ Zd?S )eÚ"TestDatetime64DateOffsetArithmeticrô   ©ÚsÚmsÚusrB   c                 C   sŒ   t tdƒtdƒgƒj |¡}t tdƒtdƒgƒj |¡}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:05rI   )
r   r   Údtræ   r!   r"   rc   ÚoffsetsÚSecondr#   )r$   r&   rô   rV   r-   r,   Úresult2r.   r.   r/   Ú'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:55rI   ú((bad|unsupported) operand type for unaryrJ   )r   r   r!   r"   rc   r  r   r#   rM   rN   rO   )r$   r&   rV   r-   r,   r!  rP   r.   r.   r/   Ú'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  rI   )r   r   r!   r"   r‘   rc   r  )r$   r%  r&   rV   Ú
offset_clsr.   r.   r/   Ú*test_dt64arr_add_sub_tick_DateOffset_smokeð  s    zMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_tick_DateOffset_smokec           
   	   C   s6  |}|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� 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   rI   r   z2010-11-01 00:00rH   rã   )z2010-11-01 05:00z2010-11-01 06:00z2010-11-01 07:00)r@   r   rB   )Úhoursr  zbad operand type for unary -zcannot subtract DatetimeArrayrJ   )r   rc   r  r'  r   ræ   r!   r"   r   rå   r   r#   r  rM   rN   rO   )
r$   rÂ   r&   r   r‹   Úoffsetr-   ZscalarZ	roundtriprP   r.   r.   r/   Útest_dti_add_tick_tzawareþ  s6     ýü$ÿ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 r^|jd	 n|}g d
¢}t|ƒD �]p\}\}}t	f i ||i¤Ž‰ |}	|dkrª|dkrªd}	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   ƒ qr1 �sÚ0    Y  qrd 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   ))Úyearsr4   )ÚmonthsrI   )r6   r   )r,  rI   )Úminutesr9   )Úsecondsr4   )ÚmicrosecondsrI   r:  rB   r  c                    s   g | ]}|ˆ  ‘qS r.   r.   r~   ©Úoffr.   r/   r‚   F  rƒ   zaTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsets.<locals>.<listcomp>c                    s   g | ]}|ˆ  ‘qS r.   r.   r~   r;  r.   r/   r‚   J  rƒ   r7   c                    s   g | ]}|ˆ  ‘qS r.   r.   r~   r;  r.   r/   r‚   P  rƒ   c                    s   g | ]}|ˆ  ‘qS r.   r.   r~   r;  r.   r/   r‚   T  rƒ   r#  rJ   )r   r   ræ   r!   r"   rc   r”   ÚilocÚ	enumerater
   r#   ÚdictrM   rN   rO   )r$   r&   rô   ÚvecÚ	vec_itemsZrelative_kwargsr  Zoffset_unitÚvalueÚexp_unitr-   rP   r.   r;  r/   Ú*test_dt64arr_add_sub_relativedelta_offsets"  sJ    øÿõ	zMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsetsr  Úcls_and_kwargsZ	YearBeginÚmonthrI   ZYearEndZ
MonthBeginÚMonthEndZSemiMonthEndZSemiMonthBeginZWeekÚweekdayr   r¶   ZBusinessDayZBDayZ
QuarterEndZQuarterBeginZCustomBusinessDayZCDayZ
CBMonthEndZCBMonthBeginZBMonthBeginZ	BMonthEndZBusinessHourZ
BYearBeginZBYearEndZBQuarterBeginÚLastWeekOfMonthr4   ÚFY5253Quarterr7   Znearest)Zqtr_with_extra_weekÚstartingMonthrH  Ú	variationÚFY5253r   )rH  rK  rL  ÚWeekOfMonth)rH  ÚweekZEasterr
   Údayr}   Ú	normalizeTFÚnr   Nz
US/Centralc              
      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|ƒ}||fd|i|¤Ž‰ t‡ fdd„|
D ƒƒ |¡}t ||¡}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  d S )Nr   )rN  rI  rJ  rM  r/  r0  rË   r1  r2  r3  r4  r5  rQ  c                    s   g | ]}|ˆ  ‘qS r.   r.   r~   ©r-  r.   r/   r‚   Á  rƒ   zWTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsets.<locals>.<listcomp>c                    s   g | ]}|ˆ  ‘qS r.   r.   r~   rS  r.   r/   r‚   Æ  rƒ   c                    s   g | ]}ˆ | ‘qS r.   r.   r~   rS  r.   r/   r‚   Ê  rƒ   r#  rJ   )rŸ   Útupler   r   ræ   r¼   r!   r"   rc   r”   r=  r‘   r  r#   rM   rN   rO   )r$   r&   rR  rQ  rE  rô   r   r%  Úkwargsr@  rA  r*  r-   rP   r.   rS  r/   Ú test_dt64arr_add_sub_DateOffsets`  sN    9

øÿôóÿzCTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsetsr)   ©rR  )r6  rr   c           	         s  |}t dd|d�‰ t ˆ |¡}t‡ ‡‡fdd„ttˆ ƒƒD ƒƒ}t ||¡ t¡}t t	¡� ˆ|ˆƒ}W d   ƒ n1 s|0    Y  t 
||¡ t ˆ|¡‰|tju rÀˆtju rÀtj|td�}t t	¡� ˆ|ˆƒ}W d   ƒ n1 sê0    Y  t 
||¡ d S )Nú
2017-01-01r4   r   c                    s   g | ]}ˆˆ | ˆ| ƒ‘qS r.   r.   ©r   rR  ©r(   rr   r)   r.   r/   r‚   æ  rƒ   zXTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_array.<locals>.<listcomp>rS   )r   r!   r"   r   ra   r�   rb   r]   r³   r	   r#   rc   r    r   Úradd)	r$   r%   r&   rr   r)   r   r*   r-   Úresr.   rZ  r/   Ú!test_dt64arr_add_sub_offset_arrayÑ  s    "((zDTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_arrayzop, offset, exp, exp_freqÚ__add__r9   )r7  r6   z
2014-04-11z
2015-04-11z
2016-04-11z
2017-04-11)r7  z
2014-04-01z
2015-04-01z
2016-04-01z
2017-04-01zYS-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YS-OCTc                 C   sd   |}t ddd|d�}t ||d¡}t||ƒ}	|	|ƒ}
t||d� d¡}t ||d¡}t |
|¡ d S )Nz01 Jan 2014z01 Jan 2017ZYS)ÚstartÚendr@   r   FrR   rB   )r   r!   r"   r‘   r   ræ   r#   )r$   rr   r-  ÚexpZexp_freqrÂ   r&   r   r^   Zmthr,   r-   r.   r.   r/   Ú#test_dti_add_sub_nonzero_mth_offsetö  s    5
zFTestDatetime64DateOffsetArithmetic.test_dti_add_sub_nonzero_mth_offsetc                 C   sj   t g d¢dd�}|tdd� }t g d¢dd�}t ||¡ |tddd� }t g d	¢dd�}t ||¡ d S )
N)z2000-01-01 00:00:00.012345678z2000-01-31 00:00:00.012345678z2000-02-29 00:00:00.012345678r  rS   r}   )Úmilliseconds)z2000-01-01 00:00:00.016345678z2000-01-31 00:00:00.016345678z2000-02-29 00:00:00.016345678r7   )r6   rd  )z2000-01-02 00:00:00.016345678z2000-02-01 00:00:00.016345678z2000-03-01 00:00:00.016345678)r   r
   r!   Úassert_index_equal)r$   r(   r,   r-   r.   r.   r/   Ú-test_dt64arr_series_add_DateOffset_with_milli5  s     úúúzPTestDatetime64DateOffsetArithmetic.test_dt64arr_series_add_DateOffset_with_milli)rX   rY   rZ   rM   r[   r\   r"  r$  r+  r.  rD  rÐ   rV  r   r    rc   r  rG  r&  r
   r’   Úaddr   r[  Úsubr]  r   rc  rf  r.   r.   r.   r/   r  Ã  sà   
ÿ
$
=





üþ	

×þ.>ÿýþ

ü÷ü÷
ü÷ü÷Þþ1
r  c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestDatetime64OverflowHandlingc                 C   sf   t tdƒgdd�}t tgƒ}t ||¡}t ||¡}ttgdd�}t ||¡}|| }t ||¡ d S )Nz
1969-12-31úM8[ns]rS   rÈ   )r   r   r   r!   r"   r   r#   )r$   r&   ru   rv   r-   r,   r.   r.   r/   Útest_dt64_overflow_maskingY  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100YEr}   r?   úOverflow in int64 additionrJ   r2   )z
2004-10-03z
2104-10-04z
2204-10-04r   r  rS   r7   )z
91279 Daysr   r   r   útimedelta64[ns])r   r   r   r   rM   rN   ÚOverflowErrorr   r=  r!   rp   )r$   r  Útdr(   rV   rP   r-   r\  r.   r.   r/   Útest_dt64_series_arith_overflowg  s6    &&&&
ÿz>TestDatetime64OverflowHandling.test_dt64_series_arith_overflowc              	   C   s„  t  dtjg¡ d¡}t  dtjg¡ d¡}tdƒ d¡}|| ¡ | ¡  d¡| ¡  d¡g}tdƒ 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 �sr0    Y  �q@d S )
Nú2021-12-28 17:19rB   ú
1950-01-01r  zdatetime64[D]ú
1980-01-01rl  rJ   r7   )rc   Úto_datetimer   Úmaxræ   Úminrü   rž   rb   rM   rN   rn  Ú_value)r$   ÚdtimaxÚdtiminZtsnegZts_neg_variantsZtsposZts_pos_variantsrP   Úvariantr-   r\  r.   r.   r/   Ú)test_datetimeindex_sub_timestamp_overflow‡  s:    üü(zHTestDatetime64OverflowHandling.test_datetimeindex_sub_timestamp_overflowc                 C   sÒ  t  dtjg¡ d¡}t  dtjg¡ d¡}t  ddg¡ d¡}t  ddg¡ d¡}tjj|d j }|| }|d j|ks€J ‚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 �sl0    Y  t  tjg¡}
|
t
j t
dƒ }tjt	|d�� |
|  W d   ƒ n1 �sÄ0    Y  d S )	Nrq  rB   rr  rs  r7   rl  rJ   Z1us)rc   rt  r   ru  ræ   rv  rw  rM   rN   rn  r   )r$   rx  ry  Zts_negZts_posr-   r,   rP   Ztminrß   Ztmaxrà   r.   r.   r/   Ú-test_datetimeindex_sub_datetimeindex_overflow­  s.    &((zLTestDatetime64OverflowHandling.test_datetimeindex_sub_datetimeindex_overflowN)rX   rY   rZ   rk  rp  r{  r|  r.   r.   r.   r/   ri  V  s    &ri  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 )Nrj  rS   rÈ   rä   rJ   )r   r!   r#   rM   rN   rO   )r$   r&   ÚaÚbrP   r.   r.   r/   Ú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 )NrI   r   ©r8  r9  r4   Ú20111230r˜   Z20120103Ú20111231Ú20120102Ú20120104)r   r   r   r_   r=  r   )r$   Útd1Údt1Údt2r.   r.   r/   Útest_operators_datetimelikeÞ  s,    ýÿýÿz9TestTimestampSeriesArithmetic.test_operators_datetimelikec                 C   sj   t tddddddƒƒ}tdddddƒ}t|gd	|› d
�d�}|| }t |d¡}|jd|› d
�ksfJ ‚d S )NiÉ  r7   é   é   é   r   r¶   é   úM8[ró   rS   r  rò   )r   r   r   r!   Úget_finest_unitrT   )r$   rô   rU   r  rV   r,   rC  r.   r.   r/   Útest_dt64ser_sub_datetime_dtypeÿ  s    z=TestTimestampSeriesArithmetic.test_dt64ser_sub_datetime_dtypezleft, right, op_failr‚  r˜   rƒ  r„  r…  r_  Ú__rsub__rI   r   r�  )r^  Ú__radd__r_  rÙ   rR   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 operandrJ   )r   r‘   rM   rN   rO   )	r$   ru   rv   Zop_failZall_arithmetic_operatorsZop_strZarg1Zarg2rr   r.   r.   r/   Ú#test_operators_datetimelike_invalid  s    ÿ(zATestTimestampSeriesArithmetic.test_operators_datetimelike_invalidc                 C   sŒ   t tddd�gƒj |¡}t tddd�gƒj |¡}|| }t tdƒgƒj |¡}t ||¡ || }t tdƒgƒj |¡}t ||¡ d S )Nz
2016-02-10zAmerica/Sao_PaulorR   z
2016-02-08Z2daysz-2days)r   r   r  ræ   r   r!   rp   )r$   rô   Ús1Ús2r,   r-   r.   r.   r/   Útest_sub_single_tz<  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-30r9   r·   r   Z0days)r   r   r   r!   rp   )r$   r(   rV   r-   r\  r.   r.   r/   Útest_dt64tz_series_sub_dtitzG  s    z:TestTimestampSeriesArithmetic.test_dt64tz_series_sub_dtitzc                 C   sŒ   t tddddtjd�tgƒj |¡}tddddtjd�}t |d¡}t t	dƒtgƒj |¡}|| }t 
||¡ |t|ƒ }t 
||¡ d S )	Nr¤   é   é   é   )r¨   r�  r  ri   )r   r   ÚpytzÚutcr   r  ræ   r!   r�  r   rp   r   )r$   rô   rV   r  rC  rb  r,   r!  r.   r.   r/   Útest_sub_datetime_compatS  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  rI   z20130101 9:01:00.005z20130101 9:02:00.005z20130101 9:06:00.005z20130101 9:07:00.005)r   r   rc   r  r)  r!   rp   r(  )r$   r  r,   r!  r-   r.   r.   r/   Ú*test_dt64_series_add_mixed_tick_DateOffset_  s    ÿÿzHTestTimestampSeriesArithmetic.test_dt64_series_add_mixed_tick_DateOffsetc                 C   s"  t ttdƒgƒj |¡}t ttgd|› d�d�}t tgd|› d�d�}t t | |¡ d}tjt	|d�� | |  W d   ƒ n1 sŠ0    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ñ   zdatetime64[ró   rS   z-bad operand type for unary -: 'DatetimeArray'rJ   )
r   r   r   r  ræ   r!   rp   rM   rN   rO   )r$   rô   Údatetime_seriesÚnat_series_dtype_timestampÚsingle_nat_dtype_datetimerP   r.   r.   r/   Útest_datetime64_ops_natr  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:00rI   r   r1   rŒ   r4   z1 days 1 minrH   )r   r@   r7   r   r#  rJ   r  )r   r   r�   r   r_   r=  rc   rd   Ú_valuesr@   r  r¼   r!   rp   rM   rN   rO   )	r$   r   r‡  rˆ  r†  Ztd2r,   rb  rP   r.   r.   r/   Ú*test_operators_datetimelike_with_timezones–  s`    ,,(zHTestTimestampSeriesArithmetic.test_operators_datetimelike_with_timezonesN)rX   rY   rZ   r€  r‰  r�  rM   r[   r\   r   r   r   r“  r–  r—  r�  rž  r¢  r¤  r.   r.   r.   r/   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 ©NrX  rR   r9   ú0 daysr<   r   ©	r   r   rc   rd   r   rì   r!   re  r¸   ©r$   r%   r   r(   ré   r-   r,   r.   r.   r/   Ú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©  r.   r.   r/   Ú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 )NrX  rR   r9   r§  r<   ú-1Drã   z cannot subtract .*TimedeltaArrayrJ   ú0cannot subtract a datelike from a TimedeltaArray)r   r   rc   rd   r   rì   r!   re  rM   rN   rO   r¸   )r$   r%   r   r(   ré   r-   r,   rP   r.   r.   r/   Ú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 �sd0    Y  tjt|
d
�� | j|8  _W d   ƒ n1 �s¢0    Y  d S )NrX  rR   r9   r§  ©r   rô   r¬  )r   r   r@   rô   )Úoutr­  rJ   )r   r   ræ   rc   rd   r   rì   r!   re  rD   r�   Zassert_datetime_array_equalr   ÚsubtractrM   rN   rO   r¸   r£  )r$   r%   rô   r   r(   ré   r-   r,   rE   r°  rP   r.   r.   r/   Ú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!   re  )r$   r%   r(   rE   r,   r-   ré   r.   r.   r/   Útest_dta_add_sub_indexM  s    z2TestDatetimeIndexArithmetic.test_dta_add_sub_indexc           	      C   s”  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Ý   rJ   r}   z$cannot add indices of unequal lengthr  z
2012-01-03z
2012-01-02ri   )r   r¼   r   ræ   r!   re  rM   rN   rO   r•   r   r   r_   )	r$   rô   r(   rõ   r-   r,   rP   Zdti1rý   r.   r.   r/   Útest_sub_dti_dti^  s0    &&(z,TestDatetimeIndexArithmetic.test_sub_dti_dtirr   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>   rH   Úmr  r  c                     s   t  ttt jt| ˆ ƒƒƒ¡S rÉ   )r   Úsumr`   r   rå   Úzip)Úargs©Z	intervalsr.   r/   rå   –  s    z_TestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_ops.<locals>.timedelta64r4   rI   )r6   r,  r8  r9  r:  )r   r   r   ra   r   r!   r#   )r$   rr   r&   rV   rF   rå   ÚdrH   rµ  r  r  ZnptdZpytdrs   rt   r.   r¹  r/   Ú.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ñ   rm  rS   r  zcannot subtract a datelikerJ   )	r   r   r   r   r!   rp   rM   rN   rO   )r$   Ztimedelta_seriesrŸ  Znat_series_dtype_timedeltar   r¡  Zsingle_nat_dtype_timedeltarP   r.   r.   r/   Ú)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ƒsVJ ‚t ||¡ |jdksDJ ‚qDt 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ƒ�s†J ‚t ||¡ |j|jk�srJ ‚�qrd S )Nrg   r   Z2Dr€   )r   r@   r�   rô   r7   r>   r  ú
2010-12-31r4   )r  z
2011-01-05z
2011-01-08rŒ   )r½  rg   r  )r   r   rå   rg  rŸ   r   r!   re  r@   r±  rì   r    ræ   )r$   rô   rí   Údeltarb  r,   r.   r.   r/   Útest_ufunc_coercionsç  sB    
 ÿÿþÿþz0TestDatetimeIndexArithmetic.test_ufunc_coercionsc                 C   sÚ   |}t ddg||d d� d¡}ttdd�gd ||d	 d
�}t|tdd� ||d d
�}|d |_|j|jkstJ ‚|| }t ||¡ || }t ||¡ |tdd� }|j| }	t 	|	|¡ ||j }
t 	|
|¡ d S )Nz2016-06-28 05:30z2016-06-28 05:31r   )r   r�   rB   rI   )r9  r4   r7   )r¡   r�   )
r   ræ   r   r   r�   rT   r!   rp   r¸   re  )r$   r%   Únamesr   r¡   rV   r-   r,   r!  Zresult3Zresult4r.   r.   r/   Ú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¡}	t ||	¡ d S )NrX  r4   r   )r   r   r�   rW  r7   rŒ   c                    s   g | ]}ˆˆ | ˆ| ƒ‘qS r.   r.   rY  rZ  r.   r/   r‚   6	  rƒ   zPTestDatetimeIndexArithmetic.test_dti_addsub_offset_arraylike.<locals>.<listcomp>Zinfer)r�   r@   )r   rc   r  rG  r&  r   r!   r³   r	   r   ra   r�   r"   rb   r]   r#   )
r$   r%   rÀ  rr   rq   Ú	other_boxr   r+   r\  r-   r.   rZ  r/   Ú 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 t¡� || }
W d   ƒ n1 sŠ0    Y  t |
|	¡ td	d
g|d�}	t |	|¡ 	t
¡}	t t¡� || }
W d   ƒ n1 sê0    Y  t |
|	¡ d S )NrX  r4   r   r}   r5   z
2017-01-31z
2017-01-06rR   z
2016-12-31z
2016-12-29)r   r!   r"   rc   r  rG  r   r   r   rb   r]   r³   r	   r#   )r$   r%   r&   rÂ  r   r(   r*   r)   r+   r-   r,   r.   r.   r/   Ú test_dti_addsub_object_arraylike;	  s    
&&z<TestDatetimeIndexArithmetic.test_dti_addsub_object_arraylikeN)rX   rY   rZ   rª  r«  r®  r²  r³  r´  rM   r[   r\   r’   rg  rh  r»  r¼  r¿  rÁ  r   r[  rÃ  rc   r²   r   r    rÄ  r.   r.   r.   r/   r¥  Õ  s   ,*
E'
r¥  r6  )r2   r   r7   r7  )éþÿÿÿr   r4   rô   r  c           	         s˜   t tdƒtdƒtdƒtdƒtdƒgƒ |¡}t|jˆd ˆ  |jjd�}| d|j› d	�¡}t |ƒ}‡ ‡fd
d„|D ƒ}t |ƒ |j¡}t	 
||¡ d S )Nr/  r0  rË   r2  r3  rš  )ZresorŽ  ró   c                    s    g | ]}|t jjˆˆ d � ‘qS ))r6  r7  )rc   r  r
   r~   ©r7  r6  r.   r/   r‚   f	  rƒ   z%test_shift_months.<locals>.<listcomp>)r   r   ræ   r   rÑ   rD   Z_cresorÒ   rô   r!   re  )	r6  r7  rô   r(   ZshiftedZshifted_dt64ÚactualÚrawr-   r.   rÆ  r/   Útest_shift_monthsU	  s     ûÿø	rÉ  c                  C   s<  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 t	¡� || t¡ }W d   ƒ n1 �s0    Y  |jdk�sJ ‚tdd„ | ¡ D ƒƒ�s8J ‚d S )Nz
1994-02-13Z2Wr}   r?   )r}   r7   c                 S   s   g | ]}t j |¡g‘qS r.   )rc   r  r&  rY  r.   r.   r/   r‚   q	  rƒ   z7test_dt64arr_addsub_object_dtype_2d.<locals>.<listcomp>r   r2   r7   c                 s   s   | ]}|j d kV  qdS )r   N)rw  )r   ro  r.   r.   r/   Ú	<genexpr>€	  rƒ   z6test_dt64arr_addsub_object_dtype_2d.<locals>.<genexpr>)r   rD   Zreshaper   r    ra   Úshaper!   r³   r	   rL   rb   r]   r½   Zravel)r(   rE   r)   r,   r-   r!  r.   r.   r/   Ú#test_dt64arr_addsub_object_dtype_2dk	  s    &F.rÌ  c                  C   sp   t g d¢dd�} | t dd¡ }t tgd dd�}t ||¡ | t dd¡ }t tgd dd�}t ||¡ d S )N©l   ÈCñE|l   ”|<Ø l   ({?M5údatetime64[ms]rS   r�   r  r   ztimedelta64[ms]©r   r   r›   r   r!   rp   rå   ©rV   r,   r-   r.   r.   r/   Ú(test_non_nano_dt64_addsub_np_nat_scalarsƒ	  s    rÑ  c                  C   sl   t g d¢dd�} | t d¡ }t tgd dd�}t ||¡ | t d¡ }t tgd dd�}t ||¡ d S )NrÍ  rÎ  rS   r�   r   rm  r  rÏ  rÐ  r.   r.   r/   Ú1test_non_nano_dt64_addsub_np_nat_scalars_unitless�	  s    rÒ  c                  C   sp   t g d¢dd�} | t dd¡ }t tgd dd�}t ||¡ | t dd¡ }t tgd dd�}t ||¡ d S )N)i,0  iËZ  iÛ�  zdatetime64[s]rS   r�   r>   r   ztimedelta64[s]rÏ  rÐ  r.   r.   r/   Ú9test_non_nano_dt64_addsub_np_nat_scalars_unsupported_unitœ	  s    rÓ  )5r   r   r   Ú	itertoolsr   r   r’   Únumpyr   rM   r›  Zpandas._libs.tslibs.conversionr   Zpandas._libs.tslibs.offsetsr   Zpandas.errorsr	   Zpandasrc   r
   r   r   r   r   r   r   r   r   Zpandas._testingZ_testingr!   Zpandas.corer   Zpandas.tests.arithmetic.commonr   r   r   r   r   re   rœ   rÓ   r  ri  r}  r¥  r[   r\   rÉ  rÌ  rÑ  rÒ  rÓ  r.   r.   r.   r/   Ú<module>   sX   ,p k      %   z     