1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
U
¬ý°d:gã@s˜ddlmZmZmZddlmZmZddlZddlZddlZ    ddl
Z
ddl Z ddl m Z ddlmZddlmZddlZddlmZmZmZmZmZmZmZmZmZddlmZddl m!Z!dd    l"m#Z#m$Z$m%Z%m&Z&Gd
d „d ƒZ'Gd d „d ƒZ(Gdd„dƒZ)Gdd„dƒZ*Gdd„dƒZ+Gdd„dƒZ,Gdd„dƒZ-Gdd„dƒZ.e
j/ 0ddddg¡e
j/ 0ddddg¡d d!„ƒƒZ1d"d#„Z2d$d%„Z3d&d'„Z4d(d)„Z5dS)*é)Ú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@seZdZdd„Zej dddddeƒedd    e    d
d d ƒ 
¡d e j g    ¡d d„ƒZ ej deedƒƒe  d¡e  d¡ e j¡e  d¡ e¡ejdddje  ejddd¡eejdddƒejddd e¡ejddddjejdddd e¡g
¡dd„ƒZdd„Zdd„Zd S)Ú"TestDatetime64ArrayLikeComparisonsc Cst|}|}tdd|d}t | ¡d¡}t ||¡}t||dƒ}||k}    t dddg¡}
t |
|¡}
t |    |
¡dS)NÚ20130101é©ÚperiodsÚtzrTF)rÚnpÚarrayZto_numpyÚtmÚ box_expectedrÚ assert_equal) ÚselfÚtz_naive_fixtureÚbox_with_arrayrÚboxÚdtiÚotherÚdtarrÚxboxÚresultÚexpected©r-ú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/arithmetic/test_datetime64.pyÚtest_compare_zerodim6s   z7TestDatetime64ArrayLikeComparisons.test_compare_zerodimr(Úfooéÿÿÿÿécg@é©ÚdaysiÑéNcCs.|}tdd|d}t ||¡}t|||ƒdS)Nú1/1/2000é
r)rr r!r)r#r(r$r%rÚrngr)r-r-r.Útest_dt64arr_cmp_scalar_invalidEs zBTestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_scalar_invalidr8Z1ns©rú1 Dayz
1971-01-01ÚD©ÚfreqrcCs2|}tddd|dj}t ||¡}t|||ƒdS)Nú
1970-01-01Únsr8©r?rr)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    Cs|}tddd|dj}t ddd|dtdd    g¡}||k}t d
d
d
d d
g¡}t ||¡||k}t ||¡d }tjt    |d ||kW5QRXtjt    |d ||kW5QRXtjt    |d ||kW5QRXtjt    |d ||kW5QRXdS)Nr@ÚhérBrr6r3rr4FTzDInvalid comparison between|Cannot compare type|not supported between©Úmatch)
rrCrrrr Úassert_numpy_array_equalÚpytestÚraisesÚ    TypeError)r#r$rrDr(r+r,Úmsgr-r-r.Útest_dt64arr_cmp_mixed_invalidxs" zATestDatetime64ArrayLikeComparisons.test_dt64arr_cmp_mixed_invalidc Csn|}|}td|d}t|tgƒ}t ||¡}t||dƒ}tddgtjd}    t |    |¡}    ||k}
t |
|    ¡dS)Nz
2021-01-01©rTF©Údtype)    rrr r r!rrZbool_r") r#r$r%rr&ÚtsÚserrEr*r,r+r-r-r.Útest_dt64arr_nat_comparisons     z>TestDatetime64ArrayLikeComparisons.test_dt64arr_nat_comparison)Ú__name__Ú
__module__Ú __qualname__r/rLÚmarkÚ parametrizeÚobjectrrÚdaterÚnanr:ÚlistÚrangeZarangeÚastypeÚfloat32ÚpdÚtimedelta_rangerZ period_rangerFrPrVr-r-r-r.r1s@óþ
 
õþ
    rc@sTeZdZej dedƒeedƒgeeedƒgfedƒeedƒgeeedƒgfe    dddee    d    ddgeee    d    ddgfg¡ej d
d d g¡ej d de
g¡ej de j e d d d gƒfe je d d d gƒfe je d d d gƒfe je d d d gƒfe je d d d gƒfe je d d d gƒfg¡dd„ƒƒƒƒZej dedƒeedƒgedƒeedƒge    dddee    d    ddgg¡ej d de
g¡dd„ƒƒZej dedddƒedddƒg¡dd„ƒZej ddddd g¡d!d"„ƒZd#d$„Zej d%ed&ƒed'ddƒe d(d)¡g¡ej d*e jd d d d gfe jd d d d gfe j d d d d gfe jd d d d gfg¡d+d,„ƒƒZdS)-ÚTestDatetime64SeriesComparisonÚpairú
2011-01-01ú
2011-01-03ú1 daysz3 daysz2011-01ÚM©r?z2011-03ÚreverseTFrSNz op, expectedc CsL|}|\}}    |r|    |}}    t||d}
||    |d} ||
| ƒ} t | |¡dS)NrR)rr Úassert_series_equal) r#rSÚindex_or_seriesrlrfÚopr,r&ÚlhsÚrhsÚleftÚrightr+r-r-r.Útest_nat_comparisons¤s'
 
z3TestDatetime64SeriesComparison.test_nat_comparisonsÚdatacCs’|}t||d}t ||¡}t|tdƒ}dddg}t ||¡}|tjkr^|tkr^tj|dd}t |tk|¡t t|k|¡dddg}t ||¡}|tjkr´|tkr´tj|dd}t |tk|¡t t|k|¡dddg}t ||¡}|tjkr|tkrtj|dd}t |tk|¡t t|k|¡t |tk|¡t t|k|¡t |tk|¡t t|k|¡t |tk|¡t t|k|¡dS)NrRTFÚbool)    rr r!rr rcrr\r")r#rSrur%r&rrr*r,r-r-r.Útest_nat_comparisons_scalarØs8
 
 
 
 z:TestDatetime64SeriesComparison.test_nat_comparisons_scalarÚvaliÐr6érHcs>ttdddƒ}|ˆk}t‡fdd„|Dƒƒ}t ||¡dS)Nr7r8r;csg|] }|ˆk‘qSr-r-©Ú.0Úx©rxr-r.Ú
<listcomp>
szQTestDatetime64SeriesComparison.test_series_comparison_scalars.<locals>.<listcomp>)rrr rm)r#rxZseriesr+r,r-r}r.Útest_series_comparison_scalarssz=TestDatetime64SeriesComparison.test_series_comparison_scalarsz
left,right)ÚltÚgt)ÚleÚge)Úeqr„)Úner…c    Csèttddddd}|jdd}tdƒ|d    <tdƒ|d
<tt|ƒ}tt|ƒ}||td ƒƒ}|td ƒ|ƒ}t ||¡||tdƒƒ}|tdƒ|ƒ}t ||¡||td ƒƒ}|td ƒ|ƒ}t ||¡||tƒ}|t|ƒ}t ||¡dS) NZ20010101r8r;Údates©ÚnameT)ÚdeepÚnatrrZ20010109)    rrÚcopyrÚgetattrÚoperatorr rmr )    r#rrrsrUZs_natZleft_fZright_fr,r+r-r-r.Útest_timestamp_compare_series s$   
 
 
 
z<TestDatetime64SeriesComparison.test_timestamp_compare_seriesc    Csö|}ttdƒtdƒtgƒ}t ||¡}t||dƒ}||k}t dddg|¡}t ||¡|tjkrŠt    j
t dd||dkW5QRXn*||dk}t dddg|¡}t ||¡|tjkræt    j
t dd||dkW5QRXn*||dk}t dddg|¡}t ||¡||k}t dddg|¡}t ||¡|tjkrjt    j
t dd||dkW5QRXn*||dk}t dddg|¡}t ||¡|tjkrÈt    j
t dd||dkW5QRXn*||dk}t dddg|¡}t ||¡dS)    Nz2000-01-29 01:59:00z
2000-01-30TFz not alignedrIrr3) rrr r r!rr"rcÚ    DataFramerLrMÚ
ValueError)r#r%r&rUr*r+r,r-r-r.Útest_dt64arr_timestamp_equality0sD   
 
        z>TestDatetime64SeriesComparison.test_dt64arr_timestamp_equalityÚ datetimelikeriÝz2013-01-01T00:00rAz op,expectedcCsHttdƒtdƒtjtdƒgdd}|||ƒ}t|dd}t ||¡dS)NÚ20120101rZ20130103ÚAr‡)rrrr^r rm)r#r’ror,rUr+r-r-r.Ú!test_dt64_compare_datetime_scalarisüù    
 z@TestDatetime64SeriesComparison.test_dt64_compare_datetime_scalar)rWrXrYrLrZr[rr rr r\rr„rr…r€rrƒr‚rtrwrrrŽr‘rÚ
datetime64r•r-r-r-r.re¡sv þ þþ÷þúþ ýþ $ 
 
ÿ
 9
 
ýþüþ    rec@seZdZdd„Zej dedddƒedƒe     
d¡g¡dd„ƒZ ej d    d
e g¡d d „ƒZ d d„Zdd„Zdd„Zej dedddƒedƒe     
d¡g¡ej d¡dd„ƒƒZdd„Zdd„Zdd„Zejjdejdddejddd ¡ejdddj d¡gd d!„d"d#d$„ƒZd%d&„Zd
S)'ÚTestDatetimeIndexComparisonscCsdt d¡}|t|ƒd}t|ƒ ¡}t |¡}|||ƒ}|||ƒ}t|tjƒsTt    ‚t 
||¡dS)Nédr3) r Z makeDateIndexÚlenrÚ to_datetime64rrÚ
isinstanceZndarrayÚAssertionErrorrK)r#Ú comparison_opÚindexÚelementZarrZ
arr_resultZ index_resultr-r-r.Útest_comparatorss
 
 
 
z-TestDatetimeIndexComparisons.test_comparatorsr(éàr6ú
2016-01-01cCsä|}tdd|d}|dk    r6t|tjƒr*dSt||jƒ}||k}t ddg¡}t ||¡||k}t ddg¡}t ||¡||k}t ddg¡}t ||¡||k}t ddg¡}t ||¡||k}t ddg¡}t ||¡dS)Nr¢r3rTF)    rr›rr–rÚtzinforr rK)r#r(r$rr'r+r,r-r-r.Útest_dti_cmp_datetimelike™s*      z6TestDatetimeIndexComparisons.test_dti_cmp_datetimelikerSNc
CsŒttdƒttdƒgƒ}ttttdƒgƒ}t ||¡}t ||¡}t||dƒ}||}}|tkrt| t¡| t¡}}||k}t     dddg¡}    t |    |¡}    t 
||    ¡||k}t     dddg¡}    t |    |¡}    t 
||    ¡t     dddg¡}    t |    |¡}    t 
|tk|    ¡t 
t|k|    ¡t     dddg¡}    t |    |¡}    t 
|tk|    ¡t 
t|k|    ¡t     dddg¡}    t |    |¡}    t 
|tk|    ¡t 
t|k|    ¡dS)NrgrhTF) r rr r r!rr\rarrr")
r#rSr%rrrsr*rprqr+r,r-r-r.Útest_dti_cmp_natºs8   
       z-TestDatetimeIndexComparisons.test_dti_cmp_natc
Csæt dtjdtjddg¡}t ddtjtjddg¡}tdtdtd    d
gƒ}td dttd d
gƒ}t t d ¡t d¡t d¡t d¡t d¡t d¡g¡}||f||f||fg}t     d¡|D]\}}||k}    t ddddddg¡}
t 
|    |
¡||k}    t ddddddg¡}
t 
|    |
¡||k}    t ddddddg¡}
t 
|    |
¡||k}    t ddddddg¡}
t 
|    |
¡||k}    t ddddddg¡}
t 
|    |
¡||k}    t ddddddg¡}
t 
|    |
¡q¾W5QRXt     d¡È|tjf|tffD]®\}} || k}    t ddddddg¡}
t 
|    |
¡|| k}    t 
|    |
¡|| k}    t 
|    |
¡|| k}    t 
|    |
¡|| k}    t 
|    |
¡|| k}    t ddddddg¡}
t 
|    |
¡qîW5QRXt     d¡(|df|t dddƒffD]\}} || k}    t ddddddg¡}
t 
|    |
¡|| k}    t ddddddg¡}
t 
|    |
¡|| k}    t ddddddg¡}
t 
|    |
¡|| k}    t ddddddg¡}
t 
|    |
¡|| k}    t ddddddg¡}
t 
|    |
¡|| k}    t ddddddg¡}
t 
|    |
¡qÎW5QRXdS)Nçð?ç@g@g@ç@g@ú
2014-01-01ú
2014-03-01ú
2014-05-01ú
2014-07-01z
2014-02-01z
2014-06-01z2014-02-01 00:00z2014-03-01 00:00rŠz2014-06-01 00:00z2014-07-01 00:00TFriÞr6) rcÚIndexrr^r r rr–r Úassert_produces_warningrKr) r#Zfidx1Zfidx2Zdidx1Zdidx2ÚdarrZcasesZidx1Zidx2r+r,rxr-r-r.Ú+test_dti_cmp_nat_behaves_like_float_cmp_nanàs”ÿÿúÿ            "     zHTestDatetimeIndexComparisons.test_dti_cmp_nat_behaves_like_float_cmp_nanc        Cst|}|}tddd}| d¡}t ||¡}t ||¡}|tjkrJdd„}nt}|tjtj    fkr`d}t
j t |d|||ƒW5QRXt
j t |d||||ƒƒW5QRXt
j t |d||t j||ƒtd    ƒW5QRXt
j t |d|||ƒW5QRXt
j t |d||||ƒƒW5QRXt
j t |d||t j||ƒtd    ƒW5QRXt  ||k¡stt‚t  |||ƒk¡sŒt‚t  ||ƒ|k¡s¤t‚t  t j||ƒtd    |k¡sÆt‚t  |t j||ƒtd    k¡sèt‚t  ||k¡süt‚t  |||ƒk¡st‚t  ||ƒ|k¡s,t‚t  t j||ƒtd    |k¡sNt‚t  |t j||ƒtd    k¡spt‚dS)
Nr¢ér;ú
US/PacificcSs| t¡j ¡dS)Nr)rar\ÚvaluesÚtolist©r|r-r-r.Ú<lambda>KózQTestDatetimeIndexComparisons.test_comparison_tzawareness_compat.<locals>.<lambda>z^Invalid comparison between dtype=datetime64\[ns.*\] and (Timestamp|DatetimeArray|list|ndarray)rIrR)rÚ tz_localizer r!rcrr_rr„r…rLrMrNrrr\Úallrœ)    r#rr%ror&ÚdrÚdzr´rOr-r-r.Ú"test_comparison_tzawareness_compat?sD 
 
 
ÿ"""""z?TestDatetimeIndexComparisons.test_comparison_tzawareness_compatc        Cs|}tddd}| d¡}t ||¡}t ||¡}tdƒ}tddd}t ||k¡sXt‚d}|tj    tj
fkrt j t |d    |||ƒW5QRXt ||k¡s¢t‚|tj    tj
fkrÖt j t |d    |||ƒW5QRX|tj    tj
fkr t j t |d    |||ƒW5QRXdS)
Nr¢r±r;r²z2000-03-14 01:59zEurope/AmsterdamrQzAInvalid comparison between dtype=datetime64\[ns.*\] and TimestamprI)rr¸r r!rrr¹rœrr„r…rLrMrN)    r#rr%rorºr»rTZts_tzrOr-r-r.Ú*test_comparison_tzawareness_compat_scalarsps& 
   zGTestDatetimeIndexComparisons.test_comparison_tzawareness_compat_scalarsz*ignore:elementwise comp:DeprecationWarningc    Csð|}|}tdd|d}t ||¡}t||dƒ}    |tjtjfkr”|tjk}
tj|
|
gt    d} t | |    ¡} |||ƒ} t 
| | ¡|||ƒ} t 
| | ¡nXdt |ƒj ›} t jt| d|||ƒW5QRXt jt| d|||ƒW5QRXdS)Nr¢r3rTrRz:Invalid comparison between dtype=datetime64\[ns, .*\] and rI)rr r!rrr„r…rrrvr"ÚtyperWrLrMrN)r#rr(Útz_aware_fixturer%rorr'r)r*Zexboolr,r+rOr-r-r.Ú"test_scalar_comparison_tzawarenessŽs&   
 
 
ÿz?TestDatetimeIndexComparisons.test_scalar_comparison_tzawarenesscCsh|}tdtdtddgƒ}t |tjkgt|ƒ¡}||tƒ}t ||¡||     d¡tƒ}t ||¡dS)Nr©rªr«r¬r²)
r r rrrr…r™r rKr¸)r#rror'r,r+r-r-r.Útest_nat_comparison_tzawareness³sÿ
 z<TestDatetimeIndexComparisons.test_nat_comparison_tzawarenesscCs
|}tdd|d}d}||k}t dgdgd¡}t ||¡||k}t dgdgd¡}t ||¡||k}t dgd¡}t ||¡||k}t dgdgd¡}t ||¡||k}t dgdgd¡}t ||¡||k}t dgd¡}t ||¡dS)Nr7r8rTFé    )rrrr rK)r#r$rr9r(r+r,r-r-r.Útest_dti_cmp_strÂs*     z-TestDatetimeIndexComparisons.test_dti_cmp_strcCs0tddd}|t|ƒk}||k}t ||¡dS)Nr7r8r;)rr_r rK)r#r9r+r,r-r-r.Útest_dti_cmp_listás  z.TestDatetimeIndexComparisons.test_dti_cmp_listZ1Dr8r;úm8[ns]cCs
t|ƒjS©N)r¾rWrµr-r-r.r¶ïr·z%TestDatetimeIndexComparisons.<lambda>)Úidsc    Csætdddd}||k}t dgd¡}t ||¡||k}t dgd¡}t ||¡d}tjt|d||kW5QRXtjt|d||kW5QRXtjt|d||kW5QRXtjt|d||kW5QRXdS)    Nú
2000-01-01r8ú
Asia/TokyorFTzInvalid comparison betweenrI)rrrr rKrLrMrN)r#r(r'r+r,rOr-r-r.Útest_dti_cmp_tdi_tzawarenessès    z9TestDatetimeIndexComparisons.test_dti_cmp_tdi_tzawarenessc    CsØtdddd}| d¡}||k}t dgd¡}t ||¡| d¡}||k}t ||¡t t|dd…ƒtdd    gd¡}||k}t dgdd
gd¡}t ||¡d }t    j
t |d ||kW5QRXdS) NrÈr8rÉrÚOTrHr6r4FzB>=' not supported between instances of 'Timestamp' and 'Timedelta'rI) rrarrr rKr¸r_rrLrMrN)r#r'r(r+r,rOr-r-r.Útest_dti_cmp_object_dtypes
 
 & z6TestDatetimeIndexComparisons.test_dti_cmp_object_dtype)rWrXrYr rLrZr[rrrr–r¤r\r¥r°r¼r½ÚfilterwarningsrÀrÁrÃrÄrcrdZ    to_seriesÚasi8ÚviewrÊrÌr-r-r-r.r—‹s< þ
 
%_1þ
  ýù    
r—c @sÆeZdZejjdd„ƒZdd„Zdd„Zdd„Z    d    d
„Z
d d „Z ej  d e dƒe dƒ ¡e dƒ ¡e dd¡g¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zej  dddd d!d"d#d$d%g¡ej  d&d%d'g¡d(d)„ƒƒZej  d*d+e d,d-g¡ed.dd/ed0d1d2ƒg¡ej  d3d%dg¡d4d5„ƒƒZej  d6dd d#dg¡ej  d3d%dg¡d7d8„ƒƒZd9d:„Zej  d;e e d<ƒe d<ƒgƒe e!e d<ƒgƒe e!e!gd=d>g¡ej  d?d0d@e d0¡g¡dAdB„ƒƒZ"d%S)CÚTestDatetime64ArithmeticcCsx|}tdd|d}tdd|d}t ||¡}t ||¡}||}t ||¡||}t ||¡||7}t ||¡dS)NrÈú
2000-02-01rQz2000-01-01 02:00z2000-02-01 02:00©rr r!r"©r#r$Z    two_hoursr%rr9r,r+r-r-r.Ú%test_dt64arr_add_timedeltalike_scalar*s    z>TestDatetime64Arithmetic.test_dt64arr_add_timedeltalike_scalarcCsd|}tdd|d}tdd|d}t ||¡}t ||¡}||}t ||¡||8}t ||¡dS)NrÈrÑrQz1999-12-31 22:00z2000-01-31 22:00rÒrÓr-r-r.Ú%test_dt64arr_sub_timedeltalike_scalar@s   z>TestDatetime64Arithmetic.test_dt64arr_sub_timedeltalike_scalarc    CsÜtddd d¡}t ||¡}tdƒ d¡}tdƒ}||}tddd    gƒ}t ||¡}t ||¡||}td
d d gƒ}t ||¡}t ||¡d }tjt    |d||W5QRXtjt    |d||W5QRXdS)Nrrr;ú
US/EasternÚCETi5)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 objectsrI)
rr¸r r!rrr"rLrMrN©r#r%Út1Út2Ztnaiver+r,rOr-r-r.Ú.test_dt64_array_sub_dt_with_different_timezoneQs* ÿ  ÿ  zGTestDatetime64Arithmetic.test_dt64_array_sub_dt_with_different_timezonec    Csðtddd d¡}t ||¡}tddd d¡}t ||¡}tddd}||}tdddgƒ}t ||¡}t ||¡||}tdddgƒ}t ||¡}t ||¡d}tjt|d    ||W5QRXtjt|d    ||W5QRXdS)
Nrrr;rÖr×rØrÙrÚrI)    rr¸r r!rr"rLrMrNrÛr-r-r.Ú6test_dt64_array_sub_dt64_array_with_different_timezonels,   ÿ  ÿ  zOTestDatetime64Arithmetic.test_dt64_array_sub_dt64_array_with_different_timezonec
    Cs®|}tdd|dd}t d¡}tdgd|d}t ||¡}t ||¡}||}t ||¡||}t ||¡||}t ||¡d}    tjt    |    d||W5QRXdS)    Nz
1994-04-01rÂZQS©rrr?r rQúcannot subtractrI)
rrÚ timedelta64r r r!r"rLrMrN)
r#r%r$rr'r(r,rEr+rOr-r-r.Útest_dt64arr_add_sub_td64_natˆs
     z6TestDatetime64Arithmetic.test_dt64arr_add_sub_td64_natc     CsÐ|}tdd|d}tdddgƒ}|j}tddd|d}t ||¡}t ||¡}||}    t |    |¡||}    t |    |¡tddd|d}t ||¡}||}    t |    |¡d}
tjt|
d    ||W5QRXdS)
Nr¢rrz-1 Dayz
2015-12-31z
2016-01-02z
2016-01-04z8cannot subtract|(bad|unsupported) operand type for unaryrI)    rrr³r r!r"rLrMrN) r#r$r%rr'ÚtdiZtdarrr,r)r+rOr-r-r.Ú test_dt64arr_add_sub_td64ndarrays$      z9TestDatetime64Arithmetic.test_dt64arr_add_sub_td64ndarrayrTú
2013-01-01r=cCsttddd d¡}t ||¡}tdddgƒ}t ||¡}||}t ||¡||}t || ¡t || ¡dS)Nrærr;z0 Daysr<z2 Days)rÚ
_with_freqr r!rr")r#r%rTÚidxr,r+r-r-r.Útest_dt64arr_sub_dtscalar¹s    z2TestDatetime64Arithmetic.test_dt64arr_sub_dtscalarcCs|tddddd}| d¡}|d}t ||¡}tt dd¡t dd¡gƒ}t ||¡}t |||¡t ||| ¡dS)Nz
2014-03-17r3r=rÖ©rr?rrr6)rrçr r!rrrâr")r#r%rUrTZ delta_seriesr,r-r-r.Ú"test_dt64arr_sub_timestamp_tzawareÓs
  z;TestDatetime64Arithmetic.test_dt64arr_sub_timestamp_tzawarecCs–tttdƒgƒ}t ||¡}|t}tttgdd}t ||¡}t ||¡| d¡}t ||¡}|t}tttgdd}t ||¡}t ||¡dS)NÚ19900315útimedelta64[ns]rRrÉ)r r rr r!rr"r¸)r#r%r'rUr+r,Údti_tzZser_tzr-r-r.Útest_dt64arr_sub_NaTàs   
  z-TestDatetime64Arithmetic.test_dt64arr_sub_NaTc    Cshtdd|d}||}t ||¡}t ||¡ t¡}t t¡|| t¡}W5QRXt ||¡dS©Nr¢rr)rr r!rar\r®r    r")r#r%r$r'r,rEr+r-r-r.Ú!test_dt64arr_sub_dt64object_arrayõs  z:TestDatetime64Arithmetic.test_dt64arr_sub_dt64object_arraycCsTtdddd}|j}t ||¡}||}||}t ||¡||}t ||¡dSrð)rr³r r!r")r#r%r'Údt64valsr)r,r+r-r-r.Ú"test_dt64arr_naive_sub_dt64ndarrays  z;TestDatetime64Arithmetic.test_dt64arr_naive_sub_dt64ndarrayc    Csp|}tdd|d}|j}t ||¡}d}tjt|d||W5QRXtjt|d||W5QRXdS)Nr¢rrz.Cannot subtract tz-naive and tz-aware datetimerI)rr³r r!rLrMrN)r#r¿r%rr'ròr)rOr-r-r.Ú)test_dt64arr_aware_sub_dt64ndarray_raises s zBTestDatetime64Arithmetic.test_dt64arr_aware_sub_dt64ndarray_raisescCsÄ|}tdd|d}|dkr&| d¡}n
| d¡}t ||¡}t||jƒt||ƒt||ƒt||dƒt||d ¡ƒt||d ¡ƒt||dƒt||d ¡ƒt|t     dd¡ƒdS)Nr¢rrrÖrrgr=)
rr¸r r!rr³Ú to_pydatetimeršrr–)r#r$r%rr'Údti2r)r-r-r.Útest_dt64arr_add_dtlike_raisess 
 
 
z7TestDatetime64Arithmetic.test_dt64arr_add_dtlike_raisesr?ÚHÚWrjZMSÚQÚBNrSZuint8c
Cs|}|tjkrdS|dkr,tddg|d}ntdd||d}||ƒ}t ddg¡}|dk    rd| |¡}d     d
d d d dg¡}    t|d|    ƒt|t     d¡|    ƒt|tjdtj    d|    ƒt|||    ƒt|t |¡|    ƒt|t |¡|    ƒt|t 
|¡|    ƒt|t  |¡|    ƒt|t |ƒ|    ƒdS)Nr z2017-04-05 06:07:08rQr¢r3rêryr1ú|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'r6rrR) rcrr rrrraÚjoinrÚint64Z Categoricalr­r)
r#rSr%r?r$rr'rEr(rOr-r-r.Útest_dt64arr_addsub_intlike9s6
 
úÿ
 z4TestDatetime64Arithmetic.test_dt64arr_addsub_intliker(g…ëQ¸    @r¨r§rgrkr6r3rÚdti_freqcCs@tddg|d}t ||¡}d ddddd    g¡}t|||ƒdS)
Nrgú
2011-01-02rkrüzunsupported operand typeúcannot (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!rýr)r#rr(r%r'r)rOr-r-r.Útest_dt64arr_add_sub_invalidbs  ûÿ    z5TestDatetime64Arithmetic.test_dt64arr_add_sub_invalidÚpi_freqc
CsTtddg|d}| |¡}t ||¡}t ||¡}d ddddg¡}    t|||    ƒdS)    Nrgrrkrürúunsupported operandzdescriptor.*requireszufunc.*cannot use operands)r Z    to_periodr r!rýr)
r#rrr%Zbox_with_array2r'Úpir)ZparrrOr-r-r.Útest_dt64arr_add_sub_parr|s
  üÿz2TestDatetime64Arithmetic.test_dt64arr_add_sub_parrc    Cs€|}tdd|d}dd„tdƒDƒ}t ||¡}t ||¡}d ddg¡}tjd    d
 t d t¡t    |||d W5QRXdS) Nú
2012-01-01rrcSsg|]}t|||ƒ‘qSr-)r)r{Úir-r-r.r~—szTTestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raises.<locals>.<listcomp>rürz*cannot subtract DatetimeArray from ndarrayT©ÚrecordÚignore)rO)
rr`r r!rýÚwarningsÚcatch_warningsÚ simplefilterr    r)r#r%r$rZobj1Úobj2rOr-r-r.Ú'test_dt64arr_addsub_time_objects_raises‘s  þÿ z@TestDatetime64Arithmetic.test_dt64arr_addsub_time_objects_raisesÚ dt64_seriesrìúdatetime64[ns]rRÚoner¦c    Csœt ||¡}d}tjt|d||W5QRXtjt|d||W5QRXtjt|d||W5QRXtjt|d||W5QRXdS)Nz&cannot perform .* with this index typerI)r r!rLrMrN)r#rrr%rErOr-r-r.Ú!test_dt64_mul_div_numeric_invalid®s
z:TestDatetime64Arithmetic.test_dt64_mul_div_numeric_invalid)#rWrXrYrLrZZarm_slowrÔrÕrÞrßrãrår[rrõršrr–rérërïrñrórôr÷rÿrr rrrrrr rr-r-r-r.rÐ#s`
 
 
 
úþ
    ' 
 
úþ   ýþrÐc&@s„eZdZdd„Zdd„Zej ddddd    d
d d g¡d d„ƒZdd„Z    dd„Z
ej dddddifddddifddddddddifddddifd d!d"d#d$d%d&d'd(d)d*d+d,d-d.dd/ifd0d1d1d/d2d3œfd4d5d/d2d6œfd7d/d/d8œfd9d:d;d<ifd:ddifg!¡ej d=d>d?g¡ej d@d5dg¡dAdB„ƒƒƒZ dCdD„Z ej dEe  ej ¡ejjd/dFg¡e  ejjd1dGej ¡g¡e  ejjd1dGejjd1dGg¡g¡ej dHejejejg¡ej dId>d?g¡dJdK„ƒƒƒZej dLdMeddNdOedPƒedQƒedRƒedSƒgdTfdMeddUedVƒedWƒedXƒedYƒgdZfd[eddNdOed\ƒed]ƒed^ƒed_ƒgdTfd[eddUed`ƒedaƒedbƒedcƒgddfg¡dedf„ƒZdTS)gÚ"TestDatetime64DateOffsetArithmeticcCs|ttdƒtdƒgƒ}ttdƒtdƒgƒ}t ||¡}t ||¡}|tj d¡}t ||¡tj d¡|}t ||¡dS)Nú 20130101 9:01ú 20130101 9:02z20130101 9:01:05z20130101 9:02:05rH)rrr r!rcÚoffsetsÚSecondr")r#r%rUr,r+Úresult2r-r-r.Ú'test_dt64arr_series_add_tick_DateOffsetÎsÿ   zJTestDatetime64DateOffsetArithmetic.test_dt64arr_series_add_tick_DateOffsetc    Cs¬ttdƒtdƒgƒ}ttdƒtdƒgƒ}t ||¡}t ||¡}|tj d¡}t ||¡tj d¡ |}t ||¡d}tj    t
|dtj d¡|W5QRXdS)Nrrz20130101 9:00:55z20130101 9:01:55rHú((bad|unsupported) operand type for unaryrI) rrr r!rcrrr"rLrMrN)r#r%rUr,r+rrOr-r-r.Ú'test_dt64arr_series_sub_tick_DateOffsetßsÿ    zJTestDatetime64DateOffsetArithmetic.test_dt64arr_series_sub_tick_DateOffsetÚcls_nameÚDayÚHourÚMinuterÚMilliZMicroZNanocCsTttdƒtdƒgƒ}t ||¡}ttj|ƒ}||dƒ|dƒ|||dƒdS)NrrrH)rrr r!rŒrcr)r#rr%rUÚ
offset_clsr-r-r.Ú*test_dt64arr_add_sub_tick_DateOffset_smokeós     zMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_tick_DateOffset_smokec
 
Cs|}|dkrJtdd|d}|tj d¡}|dtj d¡|dksJt‚tdd|dd    }td
d d gd|d }t ||¡}t ||¡}tj d¡t     dd¡t
ddfD]p}||}t  ||¡||}t  ||¡||}t  ||¡d  ddg¡}    t jt|    d||W5QRXq¦dS)Nr²z
2012-11-01rrrHrz2010-11-01 00:00røràz2010-11-01 05:00z2010-11-01 06:00z2010-11-01 07:00)r?rrG)Úhoursrüzbad operand type for unary -zcannot subtract DatetimeArrayrI)rrcrr!rœr r r!rrârr"rýrLrMrN)
r#r¿r%rr†Úoffsetr,ZscalarZ    roundtriprOr-r-r.Útest_dti_add_tick_tzawares2 ý  $   ÿz<TestDatetime64DateOffsetArithmetic.test_dti_add_tick_tzawarec
 
s ttdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒgƒ}t ||¡}|tjkrX|jd    n|}d
d d d dddg}t|ƒD]"\}\}}tf||iމt‡fdd„|Dƒƒ}t ||¡}t     ||ˆ¡t‡fdd„|Dƒƒ}t ||¡}t     ||ˆ¡tft
|d|d…ƒŽ‰t‡fdd„|Dƒƒ}t ||¡}t     ||ˆ¡t‡fdd„|Dƒƒ}t ||¡}t     ||ˆ¡d}    t j t |    dˆ|W5QRXqvdS)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)Úyearsr3)ÚmonthsrH)r5r)r&rH)Úminutesr8)Úsecondsr3)Ú microsecondsrHcsg|] }|ˆ‘qSr-r-rz©Úoffr-r.r~CszaTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsets.<locals>.<listcomp>csg|] }|ˆ‘qSr-r-rzr5r-r.r~Gsr6csg|] }|ˆ‘qSr-r-rzr5r-r.r~Mscsg|] }|ˆ‘qSr-r-rzr5r-r.r~QsrrI)r rr r!rcrÚilocÚ    enumerater
r"ÚdictrLrMrN)
r#r%ÚvecÚ    vec_itemsZrelative_kwargsr    ÚunitÚvaluer,rOr-r5r.Ú*test_dt64arr_add_sub_relativedelta_offsets%sNøÿ ù        zMTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_relativedelta_offsetsÚcls_and_kwargsZ    YearBeginÚmonthrHZYearEndZ
MonthBeginÚMonthEndZ SemiMonthEndZSemiMonthBeginZWeekÚweekdayrr±Z BusinessDayZBDayZ
QuarterEndZ QuarterBeginZCustomBusinessDayZCDayZ
CBMonthEndZ CBMonthBeginZ BMonthBeginZ    BMonthEndZ BusinessHourZ
BYearBeginZBYearEndZ BQuarterBeginÚLastWeekOfMonthr3Ú FY5253Quarterr6Znearest)Zqtr_with_extra_weekÚ startingMonthrBÚ    variationÚFY5253r)rBrErFÚ WeekOfMonth)rBÚweekZEasterr
ÚdayryÚ    normalizeTFÚnc
st|tƒr|\}}n|}i}|dkr0|dkr0dSttdƒtdƒtdƒtdƒtdƒtdƒtd    ƒtd
ƒgƒ}t ||¡}|tjkrˆ|jdn|}t    tj
|ƒ}    t j d d ât   d t¡|    |fd|i|—މt‡fdd„|Dƒƒ}
t |
|¡}
t |
|ˆ¡t‡fdd„|Dƒƒ}
t |
|¡}
t |
|ˆ¡t‡fdd„|Dƒƒ}
t |
|¡}
t |
ˆ|¡d} tjt| dˆ|W5QRXW5QRXdS)Nr)rHrCrDrGr)r*rÈr+r,r-r.r/Tr
r rKcsg|] }|ˆ‘qSr-r-rz©r'r-r.r~½szWTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsets.<locals>.<listcomp>csg|] }|ˆ‘qSr-r-rzrMr-r.r~Áscsg|] }ˆ|‘qSr-r-rzrMr-r.r~ÅsrrI)r›Útupler rr r!rcrr7rŒrr rrr    r"rLrMrN) r#r%rLrKr?rÚkwargsr:r;r$r,rOr-rMr.Ú test_dt64arr_add_sub_DateOffsets]sF6
 
øÿ      zCTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsetscCsÄtdddd}t ||¡}|tdd}tdd|}tdddd d¡}t ||¡}t ||¡t ||¡|tdd}td    d
dd d¡}t ||¡}t ||¡ttd d d tdd d gdd}t ||¡}|tj     
¡}tj     
¡|}ttdd d tdd d gdd}t ||¡}t ||¡t ||¡ttd d d tdd d gdd}t ||¡}|tj      ¡}tj      ¡|}ttdd d tdd d gdd}t ||¡}t ||¡t ||¡dS)NrÈz
2000-01-31Úar‡r6©r0z
2001-01-01z
2001-01-31z
1999-01-01z
1999-01-31z2000-01-15 00:15:00z
US/CentralrQz
2000-02-15z2000-01-16 00:15:00z
2000-02-16z2000-01-31 00:15:00r,) rr r!r
rçr"r rrcrr rA)r#r%Úsr+rÚexpr-r-r.Útest_dt64arr_add_sub_DateOffsetÌs`      
 
þû 
 
þû   
 
þû 
 
þû  zBTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_DateOffsetr(©rLrRroÚ    box_otherc
    sÒ|}tdd|d‰t ˆ|¡}t tj ¡tjjddg¡‰t    ‡‡‡fdd„t
t ˆƒƒDƒƒ}t ||¡  t ¡}|r¢t ˆ|¡‰|tjkr¢ˆtjkr¢tj|t d}t t¡ˆ|ˆƒ}    W5QRXt |    |¡dS)Nú
2017-01-01r3rrVcsg|]}ˆˆ|ˆ|ƒ‘qSr-r-©r{rL©r'ror(r-r.r~szXTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_array.<locals>.<listcomp>rR)rr r!rrrcrrAr r r`r™rar\rÚraddr®r    r")
r#r$r%rWror(rr)r,Úresr-rZr.Ú!test_dt64arr_add_sub_offset_arrays "  zDTestDatetime64DateOffsetArithmetic.test_dt64arr_add_sub_offset_arrayzop, offset, exp, exp_freqÚ__add__r8)r1r5z
2014-04-11z
2015-04-11z
2016-04-11z
2017-04-11N)r1z
2014-04-01z
2015-04-01z
2016-04-01z
2017-04-01zAS-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-01zAS-OCTc Cs^|}tddd|d}t ||d¡}t||ƒ}    |    |ƒ}
t||d} t | |d¡} t |
| ¡dS)Nz 01 Jan 2014z 01 Jan 2017ZAS)ÚstartÚendr?rFrQ)rr r!rŒr r") r#ror'rTZexp_freqr¿r%rr]Zmthr+r,r-r-r.Ú#test_dti_add_sub_nonzero_mth_offset+s5
 zFTestDatetime64DateOffsetArithmetic.test_dti_add_sub_nonzero_mth_offset)rWrXrYrrrLrZr[r%r(r>rPrUrrrcrrAr r
rÚaddrr[Úsubr]rrbr-r-r-r.rÉsÚÿ
$8
 
 
 
 
üþ     
 
×þ.?:ÿýþ
 
ü÷ ü÷ 
ü÷ ü÷Þþ1rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestDatetime64OverflowHandlingcCs^ttdƒgƒ}ttgƒ}t ||¡}t ||¡}ttgƒ}t ||¡}||}t ||¡dS)Nz
1969-12-31)rrr r r!rr")r#r%rrrsr,r+r-r-r.Útest_dt64_overflow_maskingns
 
 z9TestDatetime64OverflowHandling.test_dt64_overflow_maskingc    CsHtdƒ}tdƒ}tdddd}t|ƒ}d}tjt|d||W5QRXtjt|d||W5QRXtjt|d||W5QRXtjt|d||W5QRXt|jd    <td
d d d gdd}||}t     
||¡||}t     
||¡t|jdd…<tdd d d gdd}||}t     
||¡||}t     
|| ¡dS)Nz
1700-01-31z
20000 Daysz
1949-09-30Z100Yryr>úOverflow in int64 additionrIr1z
2004-10-03z
2104-10-04z
2204-10-04r rrRr6z
91279 Daysrí) rrrrrLrMÚ OverflowErrorr r7r rm)r#ÚdtÚtdr'rUrOr,r\r-r-r.Útest_dt64_series_arith_overflow|s8
 
ÿ   z>TestDatetime64OverflowHandling.test_dt64_series_arith_overflowc
CsJt dtjg¡}t dtjg¡}tdƒ d¡}|| ¡| ¡ d¡| ¡ d¡g}tdƒ d¡}|| ¡| ¡ d¡| ¡ d¡g}d}|D]&}t    j
t |d||W5QRXqŒtjj |j }    |D]}||}
|
d    j |    ksÆt ‚qÆtjj |j }    |D]}||}
|
d    j |    ksøt ‚qø|D](}t    j
t |d||W5QRXqdS)
Nú2021-12-28 17:19ú
1950-01-01rArz datetime64[D]ú
1980-01-01rgrIr6)rcÚ to_datetimerÚmaxÚminZas_unitrõršrarLrMrhÚ_valuerœ) r#ÚdtimaxÚdtiminZtsnegZts_neg_variantsZtsposZts_pos_variantsrOÚvariantr,r\r-r-r.Ú)test_datetimeindex_sub_timestamp_overflowœs:  ü  üzHTestDatetime64OverflowHandling.test_datetimeindex_sub_timestamp_overflowc     Csdt dtjg¡}t dtjg¡}t ddg¡}t ddg¡}tjj|dj}||}|dj|ksht‚tjj|dj}||}|dj|ks”t‚d}tjt    |d||W5QRXtjt    |d||W5QRXt tjg¡}|t
jt
dƒ}    tjt    |d|    |W5QRXt tjg¡}
|
t
jt
dƒ} tjt    |d|
| W5QRXdS)Nrlrmrnr6rgrIZ1us) rcrorrprqrrrœrLrMrhr) r#rsrtZts_negZts_posr,r+rOZtminrÜZtmaxrÝr-r-r.Ú-test_datetimeindex_sub_datetimeindex_overflowÂs.zLTestDatetime64OverflowHandling.test_datetimeindex_sub_datetimeindex_overflowN)rWrXrYrfrkrvrwr-r-r-r.reks &rec @seZdZdd„Zdd„Zdd„Zej de    dƒe    d    ƒe
ge    d
ƒe    d ƒe    d ƒgd dgge    dƒe    d    ƒe
ge ddde ddde
gddd gge    ddde    ddde
ge ddde
e dddgddd ggg¡dd„ƒZ dd„Z dd„Zdd„Zdd„Zd d!„Zd"d#„Zd$S)%ÚTestTimestampSeriesArithmeticc    Cs~tdd}tdd}||ƒ}||ƒ}t |||¡t |||¡t |||¡d}tjt|d||W5QRXdS)NzM8[ns]rRrÅrárI)rr r"rLrMrN)r#r%rQÚbrOr-r-r.Útest_empty_series_add_subæs
 
z7TestTimestampSeriesArithmetic.test_empty_series_add_subcCsžttdddgdƒ}tj|jd<ttdƒtdƒtdƒgƒ}tj|jd<ttdƒtd    ƒtd
ƒgƒ}||||||||||||||dS) NrHr©r2r3r3Ú20111230r“Z20120103Ú20111231Ú20120102Ú20120104)rrrr^r7r)r#Útd1Údt1Údt2r-r-r.Útest_operators_datetimelikeós, ýÿ ýÿz9TestTimestampSeriesArithmetic.test_operators_datetimelikecCsVttddddddƒƒ}tdddddƒ}t|gƒ}t t ||¡¡}|jd    ksRt‚dS)
NiÉr6éé érr±érí)    rrrrcZ to_timedeltarÚabsrSrœ)r#rTrirUr+r-r-r.Útest_dt64ser_sub_datetime_dtypes
 
z=TestTimestampSeriesArithmetic.test_dt64ser_sub_datetime_dtypezleft, right, op_failr|r“r}r~rr_Ú__rsub__rHrr{r^Ú__radd__rÖrQc        CsX|}t|ƒ}t|ƒ}t||dƒ}||krLtjtdd||ƒW5QRXn||ƒdS)Nz%operate|[cC]annot|unsupported operandrI)rrŒrLrMrN)    r#rrrsZop_failZall_arithmetic_operatorsZop_strZarg1Zarg2ror-r-r.Ú#test_operators_datetimelike_invalids ÿzATestTimestampSeriesArithmetic.test_operators_datetimelike_invalidcCslttdddgƒ}ttdddgƒ}||}ttdƒgƒ}t ||¡||}ttdƒgƒ}t ||¡dS)Nz
2016-02-10zAmerica/Sao_PaulorQz
2016-02-08Z2daysz-2days)rrrr rm)r#Ús1Ús2r+r,r-r-r.Útest_sub_single_tzMs z0TestTimestampSeriesArithmetic.test_sub_single_tzcCsTtdddd}t|ƒ}ttdgdƒƒ}||}t ||¡||}t ||¡dS)Nz
1999-09-30r8r²rZ0days)rrrr rm)r#r'rUr,r\r-r-r.Útest_dt64tz_series_sub_dtitzXs z:TestTimestampSeriesArithmetic.test_dt64tz_series_sub_dtitzcCshttddddtjdtgƒ}tddddtjd}ttdƒtgƒ}t |||¡t |t|ƒ|¡dS)Nr¡ééé )r£r‡ri)    rrÚpytzÚutcr rr rmr)r#rSrirTr-r-r.Útest_sub_datetime_compatds
z6TestTimestampSeriesArithmetic.test_sub_datetime_compatcCs ttdƒtdƒgƒ}|tj d¡}tj d¡|}ttdƒtdƒgƒ}t ||¡t ||¡|tj d¡tj d¡}ttdƒtdƒgƒ}t ||¡dS)NrrrHz20130101 9:01:00.005z20130101 9:02:00.005z20130101 9:06:00.005z20130101 9:07:00.005)rrrcrr#r rmr")r#rSr+rr,r-r-r.Ú*test_dt64_series_add_mixed_tick_DateOffsetlsÿ  ÿzHTestTimestampSeriesArithmetic.test_dt64_series_add_mixed_tick_DateOffsetc    Csâtttdƒgƒ}tttgdd}ttgdd}t t ||¡d}tjt|d| |W5QRXt t ||¡tjt|d| |W5QRXt |t|¡t t||¡t |t|¡t t||¡dS)NrìrrRz-bad operand type for unary -: 'DatetimeArray'rI)rr rr rmrLrMrN)r#Údatetime_seriesÚnat_series_dtype_timestampÚsingle_nat_dtype_datetimerOr-r-r.Útest_datetime64_ops_nats:ÿÿÿÿÿz5TestTimestampSeriesArithmetic.test_datetime64_ops_natc        Csêd}ttdd|ddd}| ¡}tj|jd<ttjddd    d
ƒ}| ¡}tj|jd <|jj    dksft
‚||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 }tjt|d|d |W5QRX||d }|j   d¡|d j   |¡}t  ||¡tjt|d|d |W5QRX||}|j   d¡|j   |¡}t  ||¡||}|j   d¡|j   |¡}t  ||¡||}|j   d¡|j   |¡}t  ||¡||}|j   d¡|j   |¡}t  ||¡d}tjt|d||W5QRXtjt|d||W5QRXdS)NrÖz2000-01-01 09:00:00rHrr0r‡r3z 1 days 1 minrø)rr?r6rrrIr)rrr‹rr^r7rcrdÚ_valuesr?rœrir¸r rmrLrMrN)    r#rrr‚r€Ztd2r+rTrOr-r-r.Ú*test_operators_datetimelike_with_timezones£s`                  zHTestTimestampSeriesArithmetic.test_operators_datetimelike_with_timezonesN)rWrXrYrzrƒr‰rLrZr[rr rrŒrrr–r—r›rr-r-r-r.rxås: ! ýý
 
ýùõþ
  $rxc@s²eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
  d e j e jg¡dd„ƒZdd„Zdd„Zdd„Ze    j
  d e j eje jg¡dd„ƒZe    j
  dejejg¡dd„ƒZdS)ÚTestDatetimeIndexArithmeticcCs˜|}ttd|dgdƒ}tjddd}tdd|d}| d¡}||}t ||¡||}t ||¡||j}t ||¡|j|}t ||¡dS©NrXrQr8ú0 daysr;r©    r rrcrdrrçr Úassert_index_equalr³©r#r$rr'rär,r+r-r-r.Útest_dti_add_tdiæs
 
 
z,TestDatetimeIndexArithmetic.test_dti_add_tdicCsÞ|}ttd|dgdƒ}tjddd}tdd|d}| d¡}ttd|dgdƒ}||7}t ||¡tjddd}||7}t ||¡ttd|dgdƒ}||j7}t ||¡tjddd}||7}t ||¡dSrŸr¡r£r-r-r.Útest_dti_iadd_tdiüs"
 
 z-TestDatetimeIndexArithmetic.test_dti_iadd_tdic    Cs¾|}ttd|dgdƒ}tjddd}tdd|dd}| d¡}||}t ||¡d}tj    t
|d    ||W5QRX||j }t ||¡d
}tj    t
|d    |j |W5QRXdS) NrXrQr8r r;ú-1Dràz cannot subtract .*TimedeltaArrayrIú0cannot subtract a datelike from a TimedeltaArray) r rrcrdrrçr r¢rLrMrNr³)r#r$rr'rär,r+rOr-r-r.Útest_dti_sub_tdis
 
 z,TestDatetimeIndexArithmetic.test_dti_sub_tdic
    CsZ|}ttd|dgdƒ}tjddd}tdd|dd}| d¡}ttd|dgdƒ}||8}t ||¡|j     ¡}||8}t 
||j¡|j     ¡}t j |||dt 
||j¡d    }    t jt|    d
||8}W5QRXttd|dgdƒ}||j8}t ||¡t jt|    d
|j|8_W5QRXt jt|    d
|j|8_W5QRXdS) NrXrQr8r r;r¦rà)Úoutr§rI)r rrcrdrrçr r¢rCr‹Zassert_datetime_array_equalrÚsubtractrLrMrNr³rœ)
r#r$rr'rär,r+rDr©rOr-r-r.Útest_dti_isub_tdi.s0
 
 
 
 z-TestDatetimeIndexArithmetic.test_dti_isub_tdicCsptdd|d}|j}||}||}t ||¡|}||}||}t ||¡||}||}t ||¡dS)Nrrr)rrr r¢)r#r$r'rDr+r,rär-r-r.Útest_dta_add_sub_indexZs  z2TestDatetimeIndexArithmetic.test_dta_add_sub_indexc    Cs8tddd}tddd d¡}tdddgƒ}||}t ||¡||}t ||¡d}tjt|d||W5QRXtjt|d||W5QRX||8}t ||¡tddd}tddd}d    }tjt|d||W5QRXt    d
t
j d gƒ}t    d d t
j gƒ}td t
j t
j gƒ}||}t ||¡dS)Nrrr;rÖrrÚrIryz$cannot add indices of unequal lengthrz
2012-01-03z
2012-01-02ri) rr¸rr r¢rLrMrNrr rr^)r#r'rîr,r+rOZdti1rör-r-r.Útest_sub_dti_dtiks0      z,TestDatetimeIndexArithmetic.test_sub_dti_dtirocsªttdƒtdƒtdƒtdƒgƒ}||ƒ}ddddd    g‰‡fd
d „}ttd ƒgd ŽD]P\}}}}    }
|||||    |
ƒ} t||||    |
d} ||| ƒ} ||| ƒ}t | |¡qTdS)NZ20130301z20130228 23:00:00z20130228 22:00:00z20130228 21:00:00r=rGÚmrSÚuscst tttjt|ˆƒƒƒ¡SrÆ)rÚsumr_rrâÚzip)Úargs©Z    intervalsr-r.râ£sz_TestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_ops.<locals>.timedelta64r3rH)r5r&r2r3r4)rrrr`rr r")r#ror%rUrErâÚdrGr®rSr¯ZnptdZpytdrprqr-r³r.Ú.test_timedelta64_equal_timedelta_supported_ops•s üÿ  
 
zJTestDatetimeIndexArithmetic.test_timedelta64_equal_timedelta_supported_opsc    CsJtttdƒgƒ}tttdƒgƒ}tttgdd}tttgdd}ttgdd}ttgdd}t |||¡t |||¡t | ||¡t |||¡t |||¡t | ||¡d}tjt|d||W5QRXt |||¡t |||¡t |||¡t |||¡t |||¡t |||¡dS)NZ1srìrírRrzcannot subtract a datelikerI)    rr rrr rmrLrMrN)r#Ztimedelta_seriesr˜Znat_series_dtype_timedeltar™ršZsingle_nat_dtype_timedeltarOr-r-r.Ú)test_ops_nat_mixed_datetime64_timedelta64¯srÿÿÿþþþþþþþþþzETestDatetimeIndexArithmetic.test_ops_nat_mixed_datetime64_timedelta64cCsžtddddd}t dd¡}tddddd}||t ||¡fD],}t|tƒsRt‚t ||¡|j    dks@t‚q@td    dddd}||t 
||¡fD],}t|tƒs¤t‚t ||¡|j    dks’t‚q’|  d¡}t  t dd¡t d
d¡t dd¡g¡}tdd d gdd }||t ||¡fD]$}t ||¡|j    |j    kst‚qtd    ddgdd }||t 
||¡fD]4}t|tƒsxt‚t ||¡|j    |j    ksdt‚qddS)NrgrZ2Dr|)rr?rˆr6r=rz
2010-12-31r3z
2011-01-05z
2011-01-08r‡) rrrârcr›r rœr r¢r?rªrçr)r#rèÚdeltarTr+r-r-r.Útest_ufunc_coercionsôs2   
 ÿ  z0TestDatetimeIndexArithmetic.test_ufunc_coercionsc CsÔ|}tddg||dd}ttddgd||dd    }t|tdd||dd    }|d|_|j|jksnt‚||}t ||¡||}t ||¡|tdd}|j|}    t     |    |¡||j}
t     |
|¡dS)
Nz2016-06-28 05:30z2016-06-28 05:31r)rrˆrH)r3r3r6)ržrˆ)
r rrrˆrSrœr rmr³r¢) r#r$ÚnamesrržrUr,r+rZresult3Zresult4r-r-r.Útest_dti_add_series    s&ÿ
 
 
z/TestDatetimeIndexArithmetic.test_dti_add_seriesc
    s¸|}|}tdd||dd‰|tj ¡tjjddg|dd‰tˆˆƒ}t t¡ˆˆˆƒ}W5QRXt    ‡‡‡fdd    „t
t ˆƒƒDƒ|dd
d }    t  |    |¡  t¡}    t ||    ¡dS) NrXr3r)rrrˆrVr6r‡csg|]}ˆˆ|ˆ|ƒ‘qSr-r-rYrZr-r.r~?    szPTestDatetimeIndexArithmetic.test_dti_addsub_offset_arraylike.<locals>.<listcomp>Zinfer)rˆr?)rrcrrAr rr r®r    r r`r™r!rar\r")
r#r$r¹rornÚ    other_boxrr*r\r,r-rZr.Ú test_dti_addsub_offset_arraylike.    s$
 ÿz<TestDatetimeIndexArithmetic.test_dti_addsub_offset_arrayliker»c     CsÜ|}tdd|d}t ||¡}|tj ¡tddgƒ}t||ƒ}tddg|d}    t |    |¡     t
¡}    t  t ¡||}
W5QRXt  |
|    ¡td    d
g|d}    t |    |¡     t
¡}    t  t ¡||}
W5QRXt  |
|    ¡dS) NrXr3rryr4z
2017-01-31z
2017-01-06rQz
2016-12-31z
2016-12-29)rr r!rcrrArrr rar\r®r    r") r#r$r%r»rr'r)r(r*r,r+r-r-r.Ú test_dti_addsub_object_arraylikeD    s 
   z<TestDatetimeIndexArithmetic.test_dti_addsub_object_arraylikeN)rWrXrYr¤r¥r¨r«r¬r­rLrZr[rrcrdrµr¶r¸rºrr[r¼rcr­rrr½r-r-r-r.ržâs,*
E#
ržr0r1r6r1éþÿÿÿr3csjttdƒtdƒtdƒtdƒtdƒgƒ}tt|jˆdˆƒƒ}‡‡fdd„|Dƒ}t|ƒ}t ||¡dS)    Nr)r*rÈr,r-r“cs g|]}|tjjˆˆd‘qS))r0r1)rcrr
rz©r1r0r-r.r~l    sz%test_shift_months.<locals>.<listcomp>)r rrrÎr r¢)r0r1r'ÚactualÚrawr,r-r¿r.Útest_shift_months^    sûÿ    rÂc    Csútdddd}|j d¡}t dd„tdƒDƒ¡}|j|jksBt‚t     t
¡||}W5QRXt     t
¡.|dd…df|dd…df d    d
¡}W5QRXt  ||¡t     t
¡||  t ¡}W5QRX|jdksÜt‚td d „| ¡Dƒƒsöt‚dS) Nz
1994-02-13Z2Wryr>)ryr6cSsg|]}tj |¡g‘qSr-)rcrr rYr-r-r.r~w    sz7test_dt64arr_addsub_object_dtype_2d.<locals>.<listcomp>rr1r6css|]}|jdkVqdS)rN)rr)r{rjr-r-r.Ú    <genexpr>†    sz6test_dt64arr_addsub_object_dtype_2d.<locals>.<genexpr>)rrCZreshaperrr`Úshaperœr r®r    rKrar\r¹Zravel)r'rDr(r+r,rr-r-r.Ú#test_dt64arr_addsub_object_dtype_2dq    s   2  rÅcCsrtdddgdd}|t dd¡}ttgdd    d}t ||¡|t dd¡}ttgddd}t ||¡dS)
NìÈCñE|ì”|<Øì({?M5údatetime64[ms]rRrŠÚmsrztimedelta64[ms]©rrr–r r rmrâ©rUr+r,r-r-r.Ú(test_non_nano_dt64_addsub_np_nat_scalars‰    s rÍcCsntdddgdd}|t d¡}ttgddd}t ||¡|t d¡}ttgdd    d}t ||¡dS)
NrÆrÇrÈrÉrRrŠrrírrËrÌr-r-r.Ú1test_non_nano_dt64_addsub_np_nat_scalars_unitless•    s rÎcCsrtdddgdd}|t dd¡}ttgdd    d}t ||¡|t dd¡}ttgddd}t ||¡dS)
Ni,0iËZiہz datetime64[s]rRrŠr=rztimedelta64[s]rËrÌr-r-r.Ú9test_non_nano_dt64_addsub_np_nat_scalars_unsupported_unit¢    s rÏ)6rrrÚ    itertoolsrrrr ÚnumpyrrLr”Zpandas._libs.tslibs.conversionrZpandas._libs.tslibs.offsetsrZ pandas.errorsr    Zpandasrcr
r r r rrrrrZpandas._testingZ_testingr Zpandas.core.opsrZpandas.tests.arithmetic.commonrrrrrrer—rÐrrerxržrZr[rÂrÅrÍrÎrÏr-r-r-r.Ú<module>sT   ,   pk)%z~~