gL i`TddlmZmZmZddlmZmZddlZddlZddl Z ddl Z ddl m Z ddl mZddlmZddlZddlmZmZmZmZmZmZmZmZmZddlmZddlm Z dd l!m"Z"m#Z#m$Z$m%Z%Gd d Z&Gd d Z'GddZ(GddZ)GddZ*GddZ+GddZ,GddZ-e j\j_dgde j\j_dgde j\j_dgdd Z0d!Z1d"Z2d#Z3d$Z4y)%)datetimetime timedelta)productstarmapN)localize_pydatetime) shift_months)PerformanceWarning) DateOffset DatetimeIndexNaTPeriodSeries TimedeltaTimedeltaIndex Timestamp date_range) roperator)assert_cannot_addassert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxcXeZdZdZej j dddddeede d d d jd e jg d Z ej j deed e j d e j d j#e j$e j d j#eej(dd j*e j*ej(dd eej(dd ej(dd j#eej,ddd j*ej,ddd j#eg dZdZdZy )"TestDatetime64ArrayLikeComparisonscJ|}|}tdd|}tj|jd}t j ||}t ||d}||k} tjgd} t j | |} t j| | y)N20130101periodstzrTTFF)rnparrayto_numpytm box_expectedr assert_equal) selftz_naive_fixturebox_with_arrayr boxdtiotherdtarrxboxresultexpecteds m/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/arithmetic/test_datetime64.pytest_compare_zerodimz7TestDatetime64ArrayLikeComparisons.test_compare_zerodim5s Q26*+S)eUD1%8801??8T2 )r-foocg@daysiNcj|}tdd|}tj||}t|||y)N1/1/2000 r)rr%r&r)r(r-r)r*r rngr.s r2test_dt64arr_cmp_scalar_invalidzBTestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_scalar_invalidDs3(RB7^4!%?r4r>1nsr1 Dayz 1971-01-01Dfreqrc|}tddd|j}tj||}t |||y)N 1970-01-01nsr>rFrr )r_datar%r&r)r(r-r)r*r dtaobjs r2"test_dt64arr_cmp_arraylike_invalidzETestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_arraylike_invalid^s;&D"DJJooc>2!#un=r4c |}tddd|j}tjddd|dt d g}||k(}tjgd }t j ||||k7}t j ||d }tjt| 5||kdddtjt| 5||kDdddtjt| 5||kdddtjt| 5||k\dddy#1swYxYw#1swYhxYw#1swYKxYw#1swYyxYw) NrHhrJrr;r8rr9)FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch) rrKr"r#rr%assert_numpy_array_equalpytestraises TypeError)r(r)r rLr-r0r1msgs r2test_dt64arr_cmp_mixed_invalidzATestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_mixed_invalidws4 CrBHH!Q3q69!+<=>88>? ##FH5 ##FXI6T ]]9C 0  %K  ]]9C 0  %K  ]]9C 0  5L  ]]9C 0  5L           s0.D8EE)E8EE EE%c*|}|}td|}t|tg}tj||}t ||d}tddgt j} tj| |} ||k(} tj| | y)Nz 2021-01-01r TFdtype) rrr r%r&rr"bool_r') r(r)r*r r+tsserrMr/r1r0s r2test_dt64arr_nat_comparisonz>TestDatetime64ArrayLikeComparisons.test_dt64arr_nat_comparisons  | +b#Yooc3'c2t,4-rxx8??8T2 )r4)__name__ __module__ __qualname__r3rUmark parametrizeobjectrrdater"nanr@listrangearangeastypefloat32pdtimedelta_ranger# period_rangerNrYrar4r2rr0s * [[     H 1  T1a % % '  FF $@%$@ [[ rO BIIbM BIIbM  , BIIbM  ( B  ub 1 7 7 BHH'R''r: ; ###E26 7 B  w 3 : :6 B BOOLsB ? E E BOOLsB ? F Fv N  >! >.*r4rceZdZejj dedeedgeeedgfedeedgeeedgfe ddee d dgeee d dgfgejj d d d gejj d de gejj de je gdfe je gdfe je gdfe j e gdfe j"e gdfe j$e gdfgdZejj dedeedgedeedge ddee d dggejj d de gdZejj dedddedddgdZejj dgddZdZejj d ed!ed"ddej4d#d$gejj d%e jgd&fe j$gd'fe jgd(fe j gd)fgd*Zy)+TestDatetime64SeriesComparisonpair 2011-01-01 2011-01-031 daysz3 daysz2011-01MrFz2011-03reverseTFr]Nz op, expectedFFTTTFFFFc|}|\}} |r| |} }t||} || |} || | } tj| |y)Nr\)rr%assert_series_equal) r(r]index_or_seriesr{ruopr1r+lhsrhsleftrightr0s r2test_nat_comparisonsz3TestDatetime64SeriesComparison.test_nat_comparisonssRNS CCc'Cu%D% vx0r4datac|}t||}tj||}t|td}gd}tj||}|t j ur|turt j |d}tj|tk(|tjt|k(|gd}tj||}|t j ur|turt j |d}tj|tk7|tjt|k7|gd}tj||}|t j ur|turt j |d}tj|tk|tjt|kD|tj|tk|tjt|k\|tj|tkD|tjt|k|tj|tk\|tjt|k|y)Nr\Tr~boolTTT) rr%r&rr ror#rgr')r(r]rr*r+rr/r1s r2test_nat_comparisons_scalarz:TestDatetime64SeriesComparison.test_nat_comparisons_scalarsd%(tS)dC.(??8T2 "((?uxx7H  X. t X.%??8T2 "((?uxx7H  X. t X.(??8T2 "((?uxx7H s H- d H-  X. t X. s H- d H-  X. t X.r4valir;rQcttdd}||kD}t|Dcgc]}||kD c}}tj||ycc}wNr=r>rB)rrr%r)r(rseriesr0xr1s r2test_series_comparison_scalarsz=TestDatetime64SeriesComparison.test_series_comparison_scalarssJ :r:;#F3q1s734 vx04s Az left,right))ltgt)lege)eqr)nercttddd}|jd}td|d <td|d <t t |}t t |}||td }|td |}t j||||td}|td|}t j||||td }|td |}t j||||t}|t|}t j||y) N20010101r>rBdatesnameT)deepnatrr20010109) rrcopyrgetattroperatorr%rr ) r(rrr`s_natleft_fright_fr1r0s r2test_timestamp_compare_serieszTestDatetime64SeriesComparison.test_dt64arr_timestamp_equality/sOi 56 ,8OQTUVooc3'c3-??#7> ) ",, z? s1v   CF]F':DAH OOFH - ",, z? s1v   CF]F'94@H OOFH -??#6= ) ",, z? s1v   CF]F';TBH OOFH - ",, z? s1v   CF]F'?c9X./   ,c6)#3NOc6)#67  " [[Yu 6 [[WtVn5 [[ [[&!56 7 [[&!45 6 [[&!67 8 [[&!67 8 [[&!56 7 [[&!56 7   1 67#<1, [[ | $c9\+B C x #y': ; IC (#vic/J K  [[WtVn5"/6"/H [[UXdAq%98D!Q;O$PQ1R1 [[N11@7.r [[ j ! T1a BMM,d 3  [[ [[5 6 [[4 5 [[5 6 [[5 6  1"1r4rtc eZdZdZej j dedddede jdgdZ ej j dde gd Z d Zd Zd Zej j dedddede jdgej j#d dZdZdZdZej j dej.ddej.ddj1ej.ddj2j5dgddZdZy)TestDatetimeIndexComparisonsc$tdd}|t|dz}t|j}t j |}|||}|||}t |tjsJtj||y)Nz 2020-01-01r>rBr8) rlenr to_datetime64r"r# isinstancendarrayr%rT)r( comparison_opindexelementarr arr_result index_results r2test_comparatorsz-TestDatetimeIndexComparisons.test_comparatorss|<4E a(G$224hhuo"30 $UG4 , 333 ##J =r4r-r; 2016-01-01c|}tdd|}|[t|tjr+t j t |jdt||j}||k(}tjddg}tj||||kD}tjddg}tj||||k\}tjddg}tj||||k}tjddg}tj||||k}tjddg}tj||y)Nrr8rz is not tz awareTF) rrr"rrUskiptyperbrtzinfor#r%rT)r(r-r)r r,r0r1s r2test_dti_cmp_datetimelikez6TestDatetimeIndexComparisons.test_dti_cmp_datetimelikes0 qR8 >%/ tE{3344DEF'szz:E88T5M* ##FH5u88UDM* ##FH588T4L) ##FH5u88UEN+ ##FH588T5M* ##FH5r4r]Ncttdttdg}ttttdg}tj||}tj||}t ||d}||}}|t ur*|jt |jt }}||k(}tjgd} tj| |} tj|| ||k7}tjgd} tj| |} tj|| tjgd} tj| |} tj|tk(| tjt|k(| tjgd} tj| |} tj|tk7| tjt|k7| tjgd} tj| |} tj|tk| tjt|kD| y)NrvrwTr|r}r~r) r rr r%r&rrgrmr"r#r') r(r]r*rrr/rrr0r1s r2test_dti_cmp_natz-TestDatetimeIndexComparisons.test_dti_cmp_natsi 5sIl#sBFFBFFC=> 3 c< N  <c< N xx 01 01 e$ e$ 01 01    %%? ' ' - ># > d88$LM++FH=88$LM++FH=88$KL++FH=88$KL++FH=88$MN++FH=88$IJ++FH=/ > >4 ' ' - >$bffos|< > c88$NO++FH=++FH=++FH=++FH=++FH=88$HI++FH=# > >* ' ' - >$aj5(4A2F*GH > c88$MN++FH=88$LM++FH=88$LM++FH=88$KL++FH=88$MN++FH=88$IJ++FH=+ > > >_ > >4 > >* > >s'D9T %C3T6E T$ TT!$T-c |}|}tdd}|jd}tj||}tj||}|tj urd}nt }|tjtjfvrZd}tjt|5|||dddtjt|5||||dddtjt|5||tj||tdddtjt|5|||dddtjt|5||||dddtjt|5||tj||tdddtj ||k(sJtj |||k(sJtj |||k(sJtj tj||t|k(sJtj |tj||tk(sJtj ||k(sJtj |||k(sJtj |||k(sJtj tj||t|k(sJtj |tj||tk(sJy#1swYxYw#1swYxYw#1swYixYw#1swYIxYw#1swY#xYw#1swYxYw) NrrB US/Pacificcb|jtjjdS)Nr)rmrgvaluestolistrs r2zQTestDatetimeIndexComparisons.test_comparison_tzawareness_compat..Is#qxx/66==?Br4z^Invalid comparison between dtype=datetime64\[ns.*\] and (Timestamp|DatetimeArray|list|ndarray)rRr\)r tz_localizer%r&rorrjrrrrUrVrWr"r#rgall) r(rr*rr+drdzrrXs r2"test_comparison_tzawareness_compatz?TestDatetimeIndexComparisons.test_comparison_tzawareness_compat=s   a 0 ^^L ) __R % __R % ",, BFF hkk8;;/ /= y4 2r  y4 #2vbz" #y4 ;2rxxr &9: ;y4 2r  y4 #2vbz" #y4 ;2rxxr &9: ;vvbBhvvbF2J&'''vvfRjB&'''vvbhhvbz8B>???vvbBHHVBZv>>???vvbBhvvbF2J&'''vvfRjB&'''vvbhhvbz8B>???vvbBHHVBZv>>???5   # # ; ;   # # ; ;sH+ NN )N N(N57)ON NN%(N25N?O c\|}tdd}|jd}tj||}tj||}t d}t dd}t j ||kDsJd}|tjtjfvr-tjt| 5|||dddt j ||kDsJ|tjtjfvr-tjt| 5|||ddd|tjtjfvr.tjt| 5|||dddyy#1swYxYw#1swYfxYw#1swYyxYw) NrrrBrz2000-03-14 01:59zEurope/Amsterdamr[zAInvalid comparison between dtype=datetime64\[ns.*\] and TimestamprR) rrr%r&rr"rrrrrUrVrW) r(rr*rrrr_ts_tzrXs r2*test_comparison_tzawareness_compat_scalarszGTestDatetimeIndexComparisons.test_comparison_tzawareness_compat_scalarsns\   a 0 ^^L ) __R 0 __R 0) *,1CDvvb2gR hkk8;;/ /y4 2u  vvb5j!!! hkk8;;/ /y4 2r   hkk8;;/ /y4 2r    0        s$> F ' F6 F" FF"F+z*ignore:elementwise comp:DeprecationWarningc|}|}tdd|}tj||}t||d} |tj tj fvr|tj u} tj| | gt} tj| | } |||} tj| | |||} tj| | ydt|j} tjt| 5|||dddtjt| 5|||dddy#1swY7xYw#1swYyxYw)Nrr8rTr\z:Invalid comparison between dtype=datetime64\[ns, .*\] and rR)rr%r&rrrrr"r#rr'rrbrUrVrW)r(rr-tz_aware_fixturer*rr r,r.r/exboolr1r0rXs r2"test_scalar_comparison_tzawarenessz?TestDatetimeIndexComparisons.test_scalar_comparison_tzawarenesss6 qR8^4eUD1 (++x{{+ +8;;&Fxx 0=Hx6Hu%F OOFH -u%F OOFH -E{++,. y4 !5%  !y4 !5%  ! ! ! ! ! !s E< EEE$cJ|}tdtdtddg}tj|tj k(gt |z}||t}tj||||jdt}tj||y)Nrrrrr) r r r"r#rrrr%rTr)r(rrr,r1r0s r2test_nat_comparison_tzawarenesszrTF )rr"r#r%rT)r(r)r r?r-r0r1s r2test_dti_cmp_strz-TestDatetimeIndexComparisons.test_dti_cmp_strsFRB788TFeWq[01 ##FH588UGtfqj01 ##FH5u88UGbL) ##FH588TFeWq[01 ##FH5u88UGtfqj01 ##FH588TFRK( ##FH5r4cptdd}|t|k(}||k(}tj||yr)rrjr%rT)r(r?r0r1s r2test_dti_cmp_listz.TestDatetimeIndexComparisons.test_dti_cmp_lists5R0S !#: ##FH5r41Dr>rBm8[ns]c,t|jSN)rrbrs r2rz%TestDatetimeIndexComparisons.sd1g&&r4)idsctddd}||k(}tjdgdz}tj||||k7}tjdgdz}tj||d}t j t|5||kdddt j t|5||kdddt j t|5||kDdddt j t|5||k\dddy#1swYxYw#1swYhxYw#1swYKxYw#1swYyxYw) N 2000-01-01r> Asia/TokyorFTzInvalid comparison betweenrR)rr"r#r%rTrUrVrW)r(r-r,r0r1rXs r2test_dti_cmp_tdi_tzawarenessz9TestDatetimeIndexComparisons.test_dti_cmp_tdi_tzawarenesssrlC88UGbL) ##FH588TFRK( ##FH5* ]]9C 0  %K  ]]9C 0  5L  ]]9C 0  %K  ]]9C 0  5L           s0D=D*&D6ED'*D36D?E cJtddd}|jd}||k(}tjdgdz}t j |||j d}||k7}t j ||tjt|ddtd gdzz}||k(}tjdgdzd gdzz}t j ||d }tjt| 5||k\dddy#1swYyxYw) Nrr>rrOTrQr;r9FzB>=' not supported between instances of 'Timestamp' and 'Timedelta'rR) rrmr"r#r%rTrrjrrUrVrW)r(r,r-r0r1rXs r2test_dti_cmp_object_dtypez6TestDatetimeIndexComparisons.test_dti_cmp_object_dtypesrlC 388TFRK( ##FH5% ##FH5c"1g)*;) [[ $1 y6  l8ST6 68 [[WtVn5#-6#-J]>~/@b< [[ $1 y6  l8ST [[ LM!N!: 66>6 [[ B  tR 0 B  tR 0 : : < B  tR 0 5 5 : :8 D '.r4rc ~eZdZejj dZdZdZdZ dZ dZ ejjde de dje djej"dd gd Zd Zd Zd ZdZdZdZejjdgdejjdddgdZejjddej4ddgedd edddgejjd dd gd!Zejjd"gd#ejjd dd gd$Zejj?d%d&Z ejjd'e!e d(e d(ge!e"e d(ge!e"e"gd)*gejjd+dd,ej4dgd-Z#y).TestDatetime64Arithmeticc:|}tdd|}tdd|}tj||}tj||}||z}tj||||z}tj||||z }tj||y)Nr 2000-02-01r[z2000-01-01 02:00z2000-02-01 02:00rr%r&r'r(r) two_hoursr*r r?r1r0s r2%test_dt64arr_add_timedeltalike_scalarz>TestDatetime64Arithmetic.test_dt64arr_add_timedeltalike_scalar(s |;02DLooc>2??8^<y )S ) y X&r4c|}tdd|}tdd|}tj||}tj||}||z }tj||||z}tj||y)Nrr r[z1999-12-31 22:00z2000-01-31 22:00r rs r2%test_dt64arr_sub_timedeltalike_scalarz>TestDatetime64Arithmetic.test_dt64arr_sub_timedeltalike_scalar>sv|;02DLooc>2??8^<y ) y X&r4ctddjd}tj||}t djd}t d}||z }t gd}tj||}tj ||||z }t gd}tj||}tj ||d }tjt| 5||z dddtjt| 5||z dddy#1swY3xYw#1swYyxYw) NrrrB US/EasternCETi5)3)0 days 06:00:00z1 days 06:00:00z2 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 objectsrR) rrr%r&rrr'rUrVrWr(r*t1t2tnaiver0r1rXs r2.test_dt64_array_sub_dt_with_different_timezonezGTestDatetime64Arithmetic.test_dt64_array_sub_dt_with_different_timezoneOs  A . : :< H __R 0 z " . .u 58$b! E ??8^< )b! K ??8^< )K ]]9C 0  K ]]9C 0  RK      s1D)D5)D25D>ctddjd}tj||}tddjd}tj||}tdd}||z }t gd}tj||}tj ||||z }t gd}tj||}tj ||d}t jt| 5||z dddt jt| 5||z dddy#1swY3xYw#1swYyxYw) NrrrBrr)rrr)rrrrrR) rrr%r&rr'rUrVrWrs r26test_dt64_array_sub_dt64_array_with_different_timezonezOTestDatetime64Arithmetic.test_dt64_array_sub_dt64_array_with_different_timezonejs(  A . : :< H __R 0  A . : :5 A __R 0J2b! E ??8^< )b! K ??8^< )K ]]9C 0  K ]]9C 0  RK      s E4EE Ec|}tdd|d}tjd}tdgdz|j d}t j ||}t j ||}||z}t j||||z}t j||||z }t j||d} tjt| 5||z dddy#1swYyxYw) Nz 1994-04-01rQSrr rFr r[rIcannot subtractrR) rr" timedelta64r as_unitr%r&r'rUrVrW) r(r*r)r r,r-r1rMr0rXs r2test_dt64arr_add_sub_td64_natz6TestDatetime64Arithmetic.test_dt64arr_add_sub_td64_nats qRdCu% %14<2??8^<u ) )u ) ]]9C 0  CK   s !C00C9c&|}tdd|}tgd}|j}tddd|}tj||}tj||}||z} tj | |||z} tj | |tddd|}tj||}||z } tj | |d} t jt| 5||z dddy#1swYyxYw) Nrrr)-1 Dayr(r(z 2015-12-31z 2016-01-02z 2016-01-04z8cannot subtract|(bad|unsupported) operand type for unaryrR) rrrr%r&r'rUrVrW) r(r)r*r r,tditdarrr1r.r0rXs r2 test_dt64arr_add_sub_td64ndarrayz9TestDatetime64Arithmetic.test_dt64arr_add_sub_td64ndarrays qR8;< lL!K^4??8^< ) )lL!K??8^< )H ]]9C 0  EM   s 8DDr_ 2013-01-01rDcJtddjd}tj||}t gd}tj||}||z }tj ||||z }tj || tj || y)Nr,rrB)z0 DaysrCz2 Days)r _with_freqr%r&rr')r(r*r_idxr1r0s r2test_dt64arr_sub_dtscalarz2TestDatetime64Arithmetic.test_dt64arr_sub_dtscalarsq1<2!"?@??8^<r )c  *  *r4cvtdddd}|jd}|d}tj||}t t j ddt j ddg}tj||}tj||z |tj||z | y)Nz 2014-03-17r8rDrrrFr rr;)rr.r%r&rr"r$r')r(r*r`r_ delta_seriesr1s r2"test_dt64arr_sub_timestamp_tzawarez;TestDatetime64Arithmetic.test_dt64arr_sub_timestamp_tzawaresqs|LnnT" Vooc>2r~~a5r~~a7MNO ??<@ b(+ S8),r4ctttdgj|}t j ||}|tz }t ttgd|d}t j ||}t j|||jd}t j ||}|tz }t ttgd|d}t j ||}t j||y)N19900315 timedelta64[]r\r) r r rr%r%r&rr'r) r(r*unitr,r`r0r1dti_tzser_tzs r2test_dt64arr_sub_NaTz-TestDatetime64Arithmetic.test_dt64arr_sub_NaTsS)J"789AA$Gooc>2s3*l4&,BC??8^< ).8#3*l4&,BC??8^< )r4c`tdd|}||z }tj||}tj||jt}tj t 5||jtz }dddtj|y#1swY xYwNrrr)rr%r&rmrgrr r')r(r*r)r,r1rMr0s r2!test_dt64arr_sub_dt64object_arrayz:TestDatetime64Arithmetic.test_dt64arr_sub_dt64object_arraysq5EF9ooc>2??8^<CCFK  ' '(: ; .3::f--F . ) . .s ,B$$B-ctddd}|j}tj||}||z }||z }tj||||z }tj||yr>)rrr%r&r')r(r*r,dt64valsr.r1r0s r2"test_dt64arr_naive_sub_dt64ndarrayz;TestDatetime64Arithmetic.test_dt64arr_naive_sub_dt64ndarraysbqT:::^45=! )E! )r4c@|}tdd|}|j}tj||}d}t j t |5||z dddt j t |5||z dddy#1swY3xYw#1swYyxYw)Nrrrz.Cannot subtract tz-naive and tz-aware datetimerR)rrr%r&rUrVrW)r(rr*r r,rAr.rXs r2)test_dt64arr_aware_sub_dt64ndarray_raiseszBTestDatetime64Arithmetic.test_dt64arr_aware_sub_dt64ndarray_raises sqR8::^4> ]]9C 0  H   ]]9C 0  u       sB9BBBc |}tdd|}||jd}n|jd}tj||}t ||j t ||t ||t ||dt ||dj t ||djt ||dt ||dj t |tjddy)NrrrrrrvrD) rrr%r&rr to_pydatetimerr"r)r(r)r*r r,dti2r.s r2test_dt64arr_add_dtlike_raisesz7TestDatetime64Arithmetic.test_dt64arr_add_dtlike_raisessqR8 :??<0D??4(D^4%,%%%'%Q(%Q!5!5!78%Q!5!5!78%a)%a!6!6!89%|S!ABr4rF)rPrDW2MEMSQEBNr]Nuint8c|}|tddg|}ntdd||}||}tjddg} || j |} d j gd } t |d | t |tjd| t |tjd tj | t || | t |tj| | t |tj| | t |tj| | t |tj| | t |t| | y)Nr z2017-04-05 06:07:08r[rr8r2rr6|)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'r;rr\) r rr"r#rmjoinrint64ro Categoricalrr) r(requestr]index_or_series_or_arrayrFr)r r,rMr-rXs r2test_dt64arr_addsub_intlikez4TestDatetime64Arithmetic.test_dt64arr_addsub_intlike7s <(= >2FC\14BGC&s+!R!  LL'Ehh    #33/"3 S9"3"(((CSI"3s3"3="3="3u(=sC"3="3u s;r4r-gQ @rrrvrzr;r8rdti_freqctddg|}tj||}djgd}t |||y)Nrv 2011-01-02rzrP)zunsupported operand typecannot (add|subtract)zcannot use operands with typesz7ufunc '?(add|subtract)'? cannot use operands with typesz;Concatenation operation is not implemented for NumPy arrays)r r%r&rQr)r(rWr-r*r,r.rXs r2test_dt64arr_add_sub_invalidz5TestDatetime64Arithmetic.test_dt64arr_add_sub_invalid_sF\<8xH^4hh   #5%5r4pi_freq)rDrIQrPctddg|}|j|}tj||}tj||}dj gd} t ||| y)NrvrYrzrP)rZunsupported operandzdescriptor.*requireszufunc.*cannot use operands)r to_periodr%r&rQr) r(rWr\r*box_with_array2r,pir.parrrXs r2test_dt64arr_add_sub_parrz2TestDatetime64Arithmetic.test_dt64arr_add_sub_parrysd \<8xH ]]7 #^4r?3hh   #5$4r4(ignore::pandas.errors.PerformanceWarningc|}tdd|}tdDcgc]}t|||}}tj||}tj||}dj ddg}t |||ycc}w)N 2012-01-01rrrPr_z*cannot subtract DatetimeArray from ndarray)rX)rrkrr%r&rQr)r(r*r)r obj1iobj2rXs r2'test_dt64arr_addsub_time_objects_raisesz@TestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raisess,b9',Qx0!Q1 00t^4t^4hh%<   #4371sB dt64_seriesr6datetime64[ns]r\onerctj||}d}tjt|5||zdddtjt|5||zdddtjt|5||z dddtjt|5||z dddy#1swYxYw#1swYhxYw#1swYKxYw#1swYyxYw)Nz&cannot perform .* with this index typerR)r%r&rUrVrW)r(rnrlr*rMrXs r2!test_dt64_mul_div_numeric_invalidz:TestDatetime64Arithmetic.test_dt64_mul_div_numeric_invalidsook>:6]]9C 0  #I  ]]9C 0  #I ]]9C 0  #I  ]]9C 0  #I          s/B>C C/C">C CC"C+)$rbrcrdrUrearm_slowrrrrr&r+rfrrFrr"rr0r4r<r?rBrDrHrVr#rrr[rdrrkrr rprrr4r2r r !so [[''*'"68*8 [[ l # l # 1 1 3 l # 1 1 3 BMM, ,    +  + -** * * "C8 [[V%RS [[WtWo6$<7T$5& [[ JK8L82 [[ Ij)9Z+@A B C:./ 0 C:%5 6  [[UQXRXXa[$9:;r4r cLeZdZejj dgddZdZejj dgddZdZ ejj dgdd Z ejjd ejj d gd d d difddd difddddddddifddddifddddddddd d!d"d#d$d%d&dd'ifd(d)d)d'd*d+fd,d-d'd*d.fd/d'd'd0fd1d2d3d4ifd2d difejj d5d6d7gejj d8d-dgejj dgdejj d9d:d;gd<Z ejj d=e jej j#ej j%d'>ge jej j'd)?ej j#ge jej j'd)?ej j'd)?ggejj d@ej*ej.ej0gdAZejj dBdCeddDEedFedGedHedIgd:fdCedJedKedLedMedNgdOfdPeddDEedQedRedSedTgd:fdPedJedUedVedWedXgdYfgdZZd[Zy:)\"TestDatetime64DateOffsetArithmeticr9smsusrIcttdtdgjj|}ttdtdgjj|}t j ||}t j ||}|t jjdz}t j||t jjd|z}t j||y)N 20130101 9:01 20130101 9:02z20130101 9:01:05z20130101 9:02:05rQ) rrdtr%r%r&rooffsetsSecondr')r(r*r9r`r1r0result2s r2'test_dt64arr_series_add_tick_DateOffsetzJTestDatetime64DateOffsetArithmetic.test_dt64arr_series_add_tick_DateOffsets  '?)C D "WWT]  ) *I6H,I J "WWT] ooc>2??8^<rzz((++ )**##A&, *r4cbttdtdg}ttdtdg}tj||}tj||}|tj j dz }tj||tj j d |z}tj||d}tjt|5tj j d|z dddy#1swYyxYw)Nryrzz20130101 9:00:55z20130101 9:01:55rQ((bad|unsupported) operand type for unaryrR) rrr%r&ror|r}r'rUrVrW)r(r*r`r1r0r~rXs r2'test_dt64arr_series_sub_tick_DateOffsetzJTestDatetime64DateOffsetArithmetic.test_dt64arr_series_sub_tick_DateOffsetsi0)O2LMN ) *I6H,I J ooc>2??8^<rzz((++ )::$$Q''#- *8 ]]9C 0 ' JJ  a 3 & ' ' 's 9#D%%D.cls_name)DayHourMinuter}MilliMicroNanocttdtdg}tj||}t t j |}||dz|d|z||dz y)NryrzrQ)rrr%r&rror|)r(rr*r` offset_clss r2*test_dt64arr_add_sub_tick_DateOffset_smokezMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_tick_DateOffset_smokesa i0)O2LMNooc>2RZZ2  jm1  jmr4c<|}|dk(r]tdd|}|tjjdz}|dtjjdz|dk(sJtdd|d }t gd d| j d }t j||}t j||}tjjdtjddtd fD]}||z}t j||||z}t j||||z }t j||djddg} tjt| 5||z dddy#1swYxYw)Nrz 2012-11-01rrrQrz2010-11-01 00:00rPr")z2010-11-01 05:00z2010-11-01 06:00z2010-11-01 07:00)rFr rI)hoursrPzbad operand type for unary -zcannot subtract DatetimeArrayrR)rror|rr r%r%r&r"r$rr'rQrUrVrW) r(rr*r roffsetr1scalar roundtriprXs r2test_dti_add_tick_tzawarezERZZ__Q//F8bjjooa00F1I= ==-qRcJ H  '$-  ~6??8^<zzq)2>>!S+A9STCUV FV^F OOFH -e^F OOFH -I OOIu -((/1PQCy4      s FF c Tttdtdtdtdtdtdtdtdgj|}tj||}|t j ur|jd n|}gd }t|D]\}\}}tdi||i} |} |d k(r|d k7rd } t|D cgc]} | | z c} j| } tj| |} tj| || zt|D cgc]} | | z  c} j| } tj| |} tj| || z tdit|d|dz} t|D cgc]} | | z c} j| } tj| |} tj| || zt|D cgc]} | | z  c} j| } tj| |} tj| || z d} tjt| 5| |z dddycc} wcc} wcc} wcc} w#1swYxYw)N2000-01-05 00:15:002000-01-31 00:23:00r 2000-03-31 2000-02-29 2000-12-31 2000-05-15 2001-06-15r))yearsr8)monthsrQ)r:r)rrQ)minutesr>)secondsr8) microsecondsrQrrIrwr;rrRrr)r rr%r%r&roriloc enumerater r'dictrUrVrW)r(r*r9vec vec_itemsrelative_kwargsri offset_unitvalueoffexp_unitrr1rXs r2*test_dt64arr_add_sub_relativedelta_offsetszMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsets"sc/0/0,',',',',','    '$- ooc>2#1R\\#ACHHQKs  (1'A  #A# U4 U34CHn,%y%A!a#g%ABJJ8THx@H OOHcCi 0$y%A!a#g%ABJJ8THx@H OOHcCi 0>tOGa!e$<=>C$y%A!a#g%ABJJ8THx@H OOHcCi 0$y%A!a#g%ABJJ8THx@H OOHcCi 02#1R\\#ACHHQKs RZZ2 A==f=!i!@!f*!@AII$O??8^< #,/ &3,/ i!@!f*!@AII$O??8^< #,/ i!@&1*!@AII$O??8^< &3,/8 ]]9C 0  SL  "A "A"A  s I8 I III'r-r)rrc |}tdd|}tj||}tt t |Dcgc]}|||||c}} tj| |j t} tjt5|||} dddtj | tj||}|tjur-|tjurtj| t} tjt5|||} dddtj| | ycc}w#1swYxYw#1swY1xYw)N 2017-01-01r8rr\)rr%r&r rkrrmrgrr r'ror#rradd) r(r)r*rr-r r,r.rr1ress r2!test_dt64arr_add_sub_offset_arrayzDTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_arrays)"qR8^4 c#h!P1"SVU1X"6!PQ??8^<CCFK  ' '(: ; #UE"C # X&~6 RXX %" *>xx7H  ' '(: ; #UE"C # X&"Q # # # #sE ! E%7 E1%E.1E:zop, offset, exp, exp_freq__add__r>)rr:z 2014-04-11z 2015-04-11z 2016-04-11z 2017-04-11)rz 2014-04-01z 2015-04-01z 2016-04-01z 2017-04-01zYS-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-01zYS-OCTc|}tddd|}tj||d}t||} | |} t ||j d} tj| |d} tj | | y)Nz 01 Jan 2014z 01 Jan 2017YS)startendrFr Fr[rI)rr%r&rr r%r') r(rrexpexp_freqrr*r rhmthr0r1s r2#test_dti_add_sub_nonzero_mth_offsetzFTestDatetime64DateOffsetArithmetic.test_dti_add_sub_nonzero_mth_offsetsyj =tPRSt^U;dBV ,44T:??8^UC )r4ctgdd}|tdz}tgdd}tj|||tddz}tgd d}tj||y) N)z2000-01-01 00:00:00.012345678z2000-01-31 00:00:00.012345678z2000-02-29 00:00:00.012345678rmr\r) milliseconds)z2000-01-01 00:00:00.016345678z2000-01-31 00:00:00.016345678z2000-02-29 00:00:00.016345678r;)r:r)z2000-01-02 00:00:00.016345678z2000-02-01 00:00:00.016345678z2000-03-01 00:00:00.016345678)r r r%assert_index_equal)r(r,r0r1s r2-test_dt64arr_series_add_DateOffset_with_millizPTestDatetime64DateOffsetArithmetic.test_dt64arr_series_add_DateOffset_with_milli5s  #  zq11   #   fh/zqq99   #   fh/r4)rbrcrdrUrerfrrrrrrrr"r#ror|rrr raddrrsubrrrrrrr4r2rsrss  [[V%<=+>+&'( [[Q  H [[V%<=6>6z [[ JK [[* * 7A, '*  * ! % *  *  *  *  *  * i^ $*  * i^ $*  *  *  * !* " #* $ %* & '* ( )* * +* , -* . /* 0 1* 2 3* 4 5* 6A /7* : +,%& !*  9* J1qyQ RK* L15 6M* N O* PE1: &Q* RGQ< (S* -\ [[[4-8 [[S1a&) [[V%<= [[TD,#78<9>*9]-Lf<| [[ BHHbjj))+RZZ^^a^-@A B BHHbjj++!+4bjj6I6I6KL M BHH&&Q&/1F1FQ1F1OP    [[THLL)..(,,#OP'Q '4 [[#!"-l+l+l+l+   !$l+l+l+l+   !"-l+l+l+l+   !$l+l+l+l+   E- 0b *c0b *0r4rsc$eZdZdZdZdZdZy)TestDatetime64OverflowHandlingc0ttdgd}ttg}tj||}tj||}t tgd}tj||}||z }tj ||y)Nz 1969-12-31M8[ns]r\r)rrr r%r&rr')r(r*rrr1r0s r2test_dt64_overflow_maskingz9TestDatetime64OverflowHandling.test_dt64_overflow_maskingYsvy./x@u t^4~6!3%x8??8^< )r4cttd}td}tddd}t|}d}t j t |5||z dddt j t |5||z dddt j t |5||zdddt j t |5||zdddt|jd <tgd d }||z}tj||||z}tj||t|jd dtgdd }||z }tj||||z }tj|| y#1swY7xYw#1swYxYw#1swYxYw#1swYxYw)Nz 1700-01-31z 20000 Daysz 1949-09-30100YErrEOverflow in int64 additionrRr6)z 2004-10-03z 2104-10-04z 2204-10-04r rmr\r;)z 91279 Daysr r r timedelta64[ns]) rrrrrUrV OverflowErrorr rr%r)r(r{tdr,r`rXr1rs r2test_dt64_series_arith_overflowz>TestDatetime64OverflowHandling.test_dt64_series_arith_overflowgs~ | $ | $GQ?Sk* ]]= 4  "H  ]]= 4  H  ]]= 4  "H  ]]= 4  H   =EU Bh sH-3h sH- =EVWBh sH-3h sXI./        s0 F6FF"F.FF"F+.F7ctjdtjgj d}tjdtj gj d}tdj d}||j |jjd|jjdg}tdj d}||j |jjd|jjdg}d}|D]+}tjt|5||z ddd-tjj|jz } |D]}||z } | d j| k(rJtj j|jz } |D]}||z } | d j| k(rJ|D]+}tjt|5||z ddd-y#1swYxYw#1swYDxYw) N2021-12-28 17:19rI 1950-01-01rmz datetime64[D] 1980-01-01rrRr;) ro to_datetimermaxr%minrFrrmrUrVr_value) r(dtimaxdtimintsnegts_neg_variantstsposts_pos_variantsrXvariantr1rs r2)test_datetimeindex_sub_timestamp_overflowzHTestDatetime64OverflowHandling.test_datetimeindex_sub_timestamp_overflows!3Y]] CDLLTR!3Y]] CDLLTR,'//5     !    ! ( ()9 :    ! ( ( 9  ,'//5     !    ! ( ()9 :    ! ( ( 9   +& !G}C8 !  ! ! !==''%,,6& -G7"Cq6==H, ,, -==''%,,6& -G7"Cq6==H, ,, -' !G}C8 !  ! ! ! ! ! ! !sH*H6*H3 6H? c2tjdtjgj d}tjdtj gj d}tjddgj d}tjddgj d}tjj |dj z }||z }|dj |k(sJtj j |dj z }||z }|dj |k(sJd}tjt|5||z dddtjt|5||z dddtjtj g}|tjztdz} tjt|5| |z dddtjtjg} | tj ztdz } tjt|5| | z dddy#1swY xYw#1swYxYw#1swYxYw#1swYyxYw) NrrIrrr;rrR1us) rorrrr%rrrUrVrr) r(rrts_negts_posr1r0rXtminrtmaxrs r2-test_datetimeindex_sub_datetimeindex_overflowzLTestDatetime64OverflowHandling.test_datetimeindex_sub_datetimeindex_overflows!3Y]] CDLLTR!3Y]] CDLLTR| <=EEdK| <=EEdK==''&)*:*::&ay8+++==''&)*:*::&ay8+++* ]]= 4  VO ]]= 4  VO ~~y}}o. IMM !Ie$4 4 ]]= 4  I ~~y}}o. IMM !Ie$4 4 ]]= 4  2I            s0I(I5-JJ (I25I>J  JN)rbrcrdrrrr rrr4r2rrVs */@$!L r4rc eZdZdZdZdZejjde de de ge de de d gd d gge de de ge d d e d d e ggdge dde dde ge d d e e d d ggdggdZ dZ dZdZdZdZdZy)TestTimestampSeriesArithmeticcXtd}td}||}||}tj|||ztj|||z tj|||zd}tjt |5||z dddy#1swYyxYw)Nrr\rr#rR)rr%r'rUrVrW)r(r*abrXs r2test_empty_series_add_subz7TestTimestampSeriesArithmetic.test_empty_series_add_subs  "  " 1  1  1q5! 1q5! 1q5! ]]9C 0  E   s B  B)cttddgdz}tj|jd<tt dt dt dg}tj|jd<tt dt d t d g}||z ||z ||z||z||z ||z||zy) NrQrrrr820111230r20120103201112312012010220120104)rrr"rirr)r(td1dt1dt2s r2test_operators_datetimelikez9TestTimestampSeriesArithmetic.test_operators_datetimelikesi156:;ff *%*%*%  ff *%*%*%   c  c  c  c  c  c  c r4c ttdddddd}tddddd}t|gd |d  }||z }tj|d }|j d |d k(sJy)Nir; rrM8[r8r\rwr7)rrrr%get_finest_unitr])r(r9r_r{r`r0rs r2test_dt64ser_sub_datetime_dtypez=TestTimestampSeriesArithmetic.test_dt64ser_sub_datetime_dtypes{ xaBB7 8 dAr2r *bT3tfA/r%%dD1||hZq9999r4zleft, right, op_failrrrrrr__rsub__rQrr)r__radd__rrr[c|}t|}t|}t||d}||vr-tjtd5||dddy||y#1swYyxYw)Nz%operate|[cC]annot|unsupported operandrR)rrrUrVrW) r(rrop_failall_arithmetic_operatorsop_strarg1arg2rs r2#test_operators_datetimelike_invalidzATestTimestampSeriesArithmetic.test_operators_datetimelike_invalidss8*d|e}T64 (  !H 4   tH   s  A  A)cttddgjj|}ttddgjj|}||z }tt dgjj|}t j ||||z }tt dgjj|}t j ||y)Nz 2016-02-10zAmerica/Sao_Paulor[z 2016-02-082daysz-2days)rrr{r%rr%r)r(r9s1s2r0r1s r2test_sub_single_tzz0TestTimestampSeriesArithmetic.test_sub_single_tz<s Y|0CDE F I I Q QRV W Y|0CDE F I I Q QRV Wb9W-./22::4@ vx0b9X./033;;DA vx0r4ctddd}t|}ttdgdz}||z }tj||||z }tj||y)Nz 1999-09-30r>rr0days)rrrr%r)r(r,r`r1rs r2test_dt64tz_series_sub_dtitzz:TestTimestampSeriesArithmetic.test_dt64tz_series_sub_dtitzGsbrlCSk.'R89Ci sH-Ci sH-r4c ttddddtjtgj j |}tddddtj}tj|d}ttdtgj j |}||z }tj|||t|z }tj||y) Nr )rr"rwrx) rrpytzutcr r{r%r%r$rrr)r(r9r`r{rrr0r~s r2test_sub_datetime_compatz6TestTimestampSeriesArithmetic.test_sub_datetime_compatSshtQBtxx@#FGJJRRSWX dAr2dhh 7%%dD1i)3/033;;HEr vs+ " % w,r4cNttdtdg}|tjj dz}tjj d|z}ttdtdg}t j ||t j |||tjjdztjj dz}ttdtdg}t j ||y)NryrzrQz20130101 9:01:00.005z20130101 9:02:00.005z20130101 9:06:00.005z20130101 9:07:00.005)rrror|rr%rr)r(rur0r~r1s r2*test_dt64_series_add_mixed_tick_DateOffsetzHTestTimestampSeriesArithmetic.test_dt64_series_add_mixed_tick_DateOffset_s Io. /0JK LRZZ%%a((**""1%) - . :P0Q R  vx0 w1RZZ&&q))BJJ,<,AAII$O%+S#J D6QR>S%T"$*C5+dV18M$N! to57QR= ]]9C 0 9 & & 8 9  D- -/I ]]9C 0 D & &)C C D  & ,.H   , ,.H   & ,.H   , ,.H ) 9 9  D Ds E,(E8,E58Fc d}ttdd|d}|j}tj|j d<tt jddd }|j}tj|j d <|jjJ||d z}|jjd|d zjj|}tj||||d z}|jjd|d zjj|}tj|||d |z}|jjd|d zjj|}tj|||d |z}|jjd|d zjj|}tj||||d z }|jjd|d z jj|}tj||d }tjt |5|d |z ddd||d z }|jjd|d z jj|}tj||tjt |5|d |z ddd||z}|jjd|zjj|}tj||||z}|jjd|zjj|}tj||||z }|jjd|z jj|}tj||||z }|jjd|z jj|}tj||d}tjt |5||z dddtjt |5||z dddy#1swY+xYw#1swYxYw#1swYMxYw#1swYyxYw)Nrz2000-01-01 09:00:00rQrr5rr8z 1 days 1 minrP)rrFr;rrrRrZ)rrrr"rirrorp_valuesrFr{rr%rrUrVrW) r(r rrrtd2r0rrXs r2*test_operators_datetimelike_with_timezoneszHTestTimestampSeriesArithmetic.test_operators_datetimelike_with_timezoness Z 5qRHuUhhjff R''LMhhjff {{'''s1vvv!!$'#a&044@@D vs+s1vvv!!$'#a&044@@D vs+Q#vv!!$'#a&044@@D vs+Q#vv!!$'#a&044@@D vs+s1vvv!!$'#a&044@@D vs+8 ]]9C 0  FSL s1vvv!!$'#a&044@@D vs+ ]]9C 0  FSL svv!!$'#-11==bA vs+svv!!$'#-11==bA vs+svv!!$'#-11==bA vs+svv!!$'#-11==bA vs+% ]]9C 0  #I  ]]9C 0  #I  7     &    s0 R6 S>S'S6SS SS%N)rbrcrdrrr%rUrerfrr rr.r3r6r=r?rDrHrrr4r2rrs B : [[:& *(=sC:& *(=y?TUJ'  :& *(=sC1a0)Aq2QSVW2 j\:j\: 1a0#yTU7VW2  010, 1 . -1& H<r4rceZdZdZdZdZdZdZdZe jjde je jgdZd Zd Zd Ze jjde jej(e jgd Ze jjd ej.ej2gdZy)TestDatetimeIndexArithmeticc|}ttd|gdz}tjdd}t dd|}|j d}||z}t j||||z}t j||||jz}t j|||j|z}t j||yNrr[r>0 daysrBr r rrorprr.r%rrr(r)r r,r)r1r0s r2test_dti_add_tdiz,TestDatetimeIndexArithmetic.test_dti_add_tdis Y|;&&t,s fh/s fh/szz! fh/c! fh/r4cX|}ttd|gdz}tjdd}t dd|}|j d}ttd|gdz}||z }t j||tjdd}||z }t j||ttd|gdz}||jz }t j||tjdd}||z }t j||yrLrNrOs r2test_dti_iadd_tdiz-TestDatetimeIndexArithmetic.test_dti_iadd_tdis Y|;&&t, ,2 >?"DE#  fh/##Hb9#  fh/ ,2 >?"DE#** fh/##Hb9#  fh/r4c|}ttd|gdz}tjdd}t dd|d}|j d}||z }t j||d}tjt| 5||z ddd||jz }t j||d }tjt| 5|j|z dddy#1swYdxYw#1swYyxYw) Nrr[r>rMrB-1Dr"z cannot subtract .*TimedeltaArrayrR0cannot subtract a datelike from a TimedeltaArray) r rrorprr.r%rrUrVrWr)r(r)r r,r)r1r0rXs r2test_dti_sub_tdiz,TestDatetimeIndexArithmetic.test_dti_sub_tdi s Y|;D c|}ttd|gdzj|}tjdd|}t dd|d|}|j d}ttd|gdzj|}||z}tj|||jj}||z}tj||j|jj} tj| || tj| |jd } tjt | 5||z}dddttd|gdzj|}||j"z}tj||tjt | 5|xj"|zc_dddtjt | 5|xj$|zc_dddy#1swYxYw#1swYOxYw#1swYyxYw) Nrr[r>rMrr9rT)rr rFr9)outrUrR)r rr%rorprr.r%rrKrassert_datetime_array_equalr"subtractrUrVrWrrF) r(r)r9r r,r)r1r0rLrYrXs r2test_dti_isub_tdiz-TestDatetimeIndexArithmetic.test_dti_isub_tdi!s Y|;?"DEMMdS#  fh/iinn s  &&sHNN;iinn C#& &&sHNN;@ ]]9C 0  3JC  ,2 >?"DEMMdS#** fh/ ]]9C 0  JJ# J ]]9C 0  KK3 K        s$H&H2H>&H/2H;>Ictdd|}|j}||z }||z }tj|||}||z}||z}tj||||z }||z }tj||y)Nrrr)rr#r%r)r(r)r,rLr0r1r)s r2test_dta_add_sub_indexz2TestDatetimeIndexArithmetic.test_dta_add_sub_indexMsQ3CDiis9 fh/s9 fh/s9 fh/r4c tdd|}tdd|jd}tgdj|}||z }t j ||||z }t j ||d}t jt|5||z dddt jt|5||z ddd||z}t j ||tdd|}tdd|}d }t jt|5||z dddtd tjd gj|}td d tjgj|}td tjtjgj|}||z }t j ||y#1swY@xYw#1swY$xYw#1swYxYw)NrrrXr)rrrrrRrz$cannot add indices of unequal lengthrgz 2012-01-03z 2012-01-02rx) rrrr%r%rrUrVrWrr r"ri) r(r9r,r:r1r0rXdti1rGs r2test_sub_dti_dtiz,TestDatetimeIndexArithmetic.test_sub_dti_dti^sQT:J=II,W!),44T:s fh/& fh/K ]]9C 0  SL ]]9C 0  &L  s  c8,*ad;*ad;4 ]]:S 1  4K lBFFLABJJ4PlL"&&ABJJ4P!8RVVRVV"<=EEdK fh/-      s$GG,&G9G),G69HrcVttdtdtdtdg}||}gdfd}ttdgdzD]L\}}}} } ||||| | } t |||| | } ||| } ||| }t j | |Ny) N20130301z20130228 23:00:00z20130228 22:00:00z20130228 21:00:00)rDrPmrurwc tjtttjt |Sr)r"sumrjrr$zip)args intervalss r2r$z_TestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_ops..timedelta64s)66$wr~~s47KLMN Nr4r8rQ)r:rrrr)rrrrkrr%r')r(rr*r`rMr$drPrdrurwnptdpytdrrris @r2.test_timedelta64_equal_timedelta_supported_opszJTestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_opss*%-.-.-.   S!.  O&q Q8 &NAq!Qq!Q2.D!1aQSTDS$-CS$-C OOC %  &r4ctttdg}tttdg}tttgd}tttgd}ttgd}ttgd}t j ||z |t j ||z |t j | |z|t j ||z |t j ||z |t j | |z|d}t jt|5||z dddt j ||z|t j ||z|t j ||z|t j ||z|t j ||z|t j ||z|y#1swYxYw)N1sr6rr\rmzcannot subtract a datelikerR) rr rrr%rrUrVrW)r(timedelta_seriesrAnat_series_dtype_timedeltarBrCsingle_nat_dtype_timedeltarXs r2)test_ops_nat_mixed_datetime64_timedelta64zETestDatetimeIndexArithmetic.test_ops_nat_mixed_datetime64_timedelta64s!3 $"89 #y'%+S#J>O%P"%+S#J>N%O"$*C58H$I!%+SE9J%K"  7 79S   8 8:T   ' '/ 9;U   &)B B &  &)C C &   ' '*D D & + ]]9C 0 9 8 8 9  &)C C &   &)C C &  &)C C &   &)C C &  &)B B &   %(B B & 5 9 9s <G!!G*ctdddd|}tjdd}tdddd|}||ztj||fD];}t |t sJt j|||jdk(r;Jtd ddd|}||z tj||fD];}t |t sJt j|||jdk(r;J|jd}tjtjddtjd dtjddg}t gd d j|}||ztj||fD]3}t j|||j|jk(r3Jt gd d j|}||z tj||fD]E}t |t sJt j|||j|jk(rEJy)Nrvr2Dr)rrFrr9r;rDrY 2010-12-31r8)rYz 2011-01-05z 2011-01-08r)rvrvrY) rr"r$rrr r%rrFr[r.r#r%)r(r9r/deltarr0s r2test_ufunc_coercionsz0TestDatetimeIndexArithmetic.test_ufunc_coercionssqt#DQq#&qt#DQU{BFF3$67 'Ffm4 44  ! !&# .;;$& && ' qt#DQU{BKKU$;< 'Ffm4 44  ! !&# .;;$& && 'nnT" ^^As #R^^As%;R^^As=S T  6S '$- U{BFF3$67 +F  ! !&# .;;#((* ** + 6S '$- U{BKKU$;< +Ffm4 44  ! !&# .;;#((* ** +r4c.|}tddg||djd}ttdgdz||d  }t|tdz||d }|d|_|j |j k(sJ||z}t j||||z}t j|||tdz}|j|z} t j| |||jz} t j| |y) Nz2016-06-28 05:30z2016-06-28 05:31r)r rrIrQ)rr8r;)rr) r r%rrrr]r%rrr) r(r)namesr rr`r1r0r~result3result4s r2test_dti_add_seriesz/TestDatetimeIndexArithmetic.test_dti_add_series s   !3 4%( '$- i*+a/u58L%)A"66e%PQ(Sa ~~,,,u vx0#+ w19Q//**u$ gx0#**$ gx0r4c L|}|}tdd||d}|tjjtjj dg|d}t ||} t jt5|||} dddttt|D cgc]} ||| || c} |dd } t j| | jt} t j | y#1swYxYwcc} w) Nrr8r)rr rrr;rinfer)rrF)rror|rrrr%rr r rkrr&rmrgr') r(r)rzrr other_boxr r,r-r/rrr1s r2 test_dti_addsub_offset_arraylikez?*@*r4rJr)r6rr;r)rr8r9rtc 4ttdtdtdtdtdgj|}t|j|dz|z|j j }|jd|jd }t|}|Dcgc]&}|tjj|| z(}}t|j|j} tj|| ycc}w) Nrrrrrr:)resor#r8)rr)r rr%r rrK_cresorr9ror|r r%r) rrr9r,shifted shifted_dt64actualrrawr1s r2test_shift_monthsrU s  + , + , l # l # l #   gdm388URZ&%8syy?O?OPG<<#chhZq 12L < (FJM NQ1rzz$$5$@ @ NC NS!))#((3H&(+ Os-+DcPtddd}|jjd}tjt dDcgc]"}t jj|g$c}}|j|jk(sJtjt5||z}dddtjt5|dddf|dddfzjdd}dddtjtjt5||jtz }dddjdk(sJt!d |j#DsJycc}w#1swYxYw#1swYxYw#1swYZxYw) Nz 1994-02-132WrrE)rr;rr6r;c3:K|]}|jdk(yw)rN)r).0rs r2 z6test_dt64arr_addsub_object_dtype_2d.. s8"ryyA~8s)rrKreshaper"r#rkror|rshaper%rr rTrmrgrravel)r,rLrr-r0r1r~s r2#test_dt64arr_addsub_object_dtype_2drk s] \a 8C ))  F #C HH58>%. .Fseai'78H68,r4c.tgdd}|tjdz }ttgdzd}t j |||tj dz}ttgdzd}t j ||y)Nrrr\rrrrmrrs r21test_non_nano_dt64_addsub_np_nat_scalars_unitlessr s~ 
>%( (Fseai'78H68,r4c2tgdd}|tjddz }ttgdzd}t j |||tj ddz}ttgdzd}t j ||y)N)i,0iZiہz datetime64[s]r\rrDrztimedelta64[s]rrs r29test_non_nano_dt64_addsub_np_nat_scalars_unsupported_unitr s~ &o >C 2==, ,Fseai'78H68, 2>>%- -Fseai7H68,r4)5rrr itertoolsrrrnumpyr"rUr;pandas._libs.tslibs.conversionrpandas._libs.tslibs.offsetsr pandas.errorsr pandasror r r rrrrrrpandas._testing_testingr% pandas.corerpandas.tests.arithmetic.commonrrrrrrtrr rsrrrJrerfrrrrrrrr4r2rs#  >4,   !m*m*`g1g1TPPn __D P0P0f wwtBBJ}*}*@ *-:.!89,:/.,&90 - - -r4