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
U
­ý°dgSã@sÆddlmZddlZddlZddlZddlmmZddl    Z
ddl    m Z m Z m Z mZmZmZddlmZddlmZmZmZedddƒedddƒZZGdd    „d    ƒZGd
d „d ƒZGd d „d ƒZdS)é)ÚdatetimeN)Ú    DataFrameÚ DatetimeIndexÚIndexÚSeriesÚ bdate_rangeÚ
date_range)Ú    BMonthEndÚMinuteÚMonthEndiÙéiÚc@s*eZdZddddddgZdd„Zej d    ej    e
e g¡d
d „ƒZ ej d e¡d d„ƒZ dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zej d ddddg¡d!d"„ƒZej d#d$d%g¡d&d'„ƒZd(d)„Zej d e¡d*d+„ƒZd,d-„Zd.d/„Zej d dddg¡d0d1„ƒZd2d3„ZdS)4ÚTestDatetimeIndexSetOpsNÚUTCz
Asia/Tokyoú
US/Easternzdateutil/Asia/Singaporezdateutil/US/PacificcCs@t d¡}|dd…}|dd…}|j||d}t ||¡dS©Né
é©Úsort)ÚtmÚ makeDateIndexÚunionÚassert_index_equal)ÚselfrÚ
everythingÚfirstÚsecondr©rúad:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexes/datetimes/test_setops.pyÚ test_union2(s
 
  z#TestDatetimeIndexSetOps.test_union2Úboxc    CsXt d¡}|dd…}|dd…}|j||d}||jƒ}|j||d}t ||¡dSr)rrrÚvaluesr)    rrr rrrÚexpectedÚcaseÚresultrrrÚ test_union3/s
 
z#TestDatetimeIndexSetOps.test_union3ÚtzcCs@tddd|d}tddd|d}tddd|d}tt|ƒt|ƒƒ}tddd|d}tddd|d}tddd|d}    tt|ƒt|dd    …ƒƒ}
tddd|d} tg|d
} tddd|d} | }||||f|||    |
f| | | |ffD]X\}}}}|j||d }t ||¡|j||d }|dkr.t ||¡qât ||¡qâdS) Nú1/1/2000ÚDr©ÚfreqÚperiodsr&ú1/6/2000rú1/4/2000éé©r&r)rrÚlistrrr)rr&rÚrng1Úother1Ú    expected1Zexpected1_notsortedÚrng2Úother2Ú    expected2Zexpected2_notsortedÚrng3Úother3Ú    expected3Zexpected3_notsortedÚrngÚotherÚexpZ exp_notsortedZ result_unionrrrÚ
test_union;s, 
 
 
ý 
z"TestDatetimeIndexSetOps.test_unioncCsntdddgƒ}t| ¡dd}|j||d}t ||¡|dd…j||d}t ||¡|j|jksjt‚dS)Nz
2000-01-03z
2000-01-01z
2000-01-02Zinfer©r*rr)rÚ sort_valuesrrrr*ÚAssertionError)rrÚidxZorderedr$rrrÚtest_union_coverageZs  z+TestDatetimeIndexSetOps.test_union_coveragecCsptdddd}tdddd}|j||d}t|ƒt|dd…ƒ}|dkrXtt|ƒƒ}nt|ƒ}t ||¡dS)Nú1/1/2012éZ3H©r+r*Z4Hrr )rrr1rÚsortedrr)rrZrng_aZrng_br$r=rrrÚtest_union_bug_1730dsz+TestDatetimeIndexSetOps.test_union_bug_1730cCsVtdgƒ}tdddgƒ}|j||d}tddddgƒ}|dkrF| ¡}t ||¡dS)Nz2012-05-11 15:19:49.695000z2012-05-29 13:04:21.322000z2012-05-11 15:27:24.873000z2012-05-11 15:31:05.350000r)rrr@rr)rrÚleftÚrightr$r=rrrÚtest_union_bug_1745ps$
ýÿüÿz+TestDatetimeIndexSetOps.test_union_bug_1745cCspddlm}tddƒ}||dd}|j||d}t|ƒt|ƒ}|dkrXtt|ƒƒ}nt|ƒ}t ||¡dS)Nr©Ú
DateOffsetz
2013-01-01z
2013-02-01é)Úminutesr)    ÚpandasrMrrr1rrGrr)rrrMrIrJr$r=rrrÚtest_union_bug_4564‡s 
z+TestDatetimeIndexSetOps.test_union_bug_4564cCs@tddd}d|j_|j||d}t ||¡|jdks<t‚dS)NZ20150101r©r+r)rÚ_datar*rrrrA)rrr"r$rrrÚtest_union_freq_both_none•s
  z1TestDatetimeIndexSetOps.test_union_freq_both_nonecCsntddd}|ddddg}|dddg}|jdks8t‚|jdksFt‚| |¡}t ||¡|jd    ksjt‚dS)
Nz
2016-01-01rrRrr r/rEér()rr*rArrr)rÚdtirIrJr$rrrÚtest_union_freq_inferžs 
 z-TestDatetimeIndexSetOps.test_union_freq_infercCsvtdddd}ttj t|ƒ¡|ƒ}tdddd}ttj t|ƒ¡|ƒ}t||dœƒ}tdddd}t |j    |¡dS)Nz1/1/1999rDZMSr?z1/1/1980z    12/1/2001)Ús1Ús2)
rrÚnpÚrandomZrandnÚlenrrrÚindex)rr2rXr5rYZdfr=rrrÚtest_union_dataframe_index­sz2TestDatetimeIndexSetOps.test_union_dataframe_indexcCsFttjdddtjdƒ}tdddd}|j||d    |j||d    dS)
NrérU©Zdtypez2012-01-03 00:00:00rr()Ústartr+r*r)rrZZarangeÚint64rr)rrÚi1Úi2rrrÚtest_union_with_DatetimeIndex¸sz5TestDatetimeIndexSetOps.test_union_with_DatetimeIndexcs¢t d¡}|dd…‰| ˆ¡}t |ˆ¡s0t‚‡fdd„tjttfDƒ}|D]}| |¡}t |ˆ¡sNt‚qNt    dddgƒ}| |¡}t    gt
d}t  ||¡dS)    Nrrcsg|]}|ˆjƒ‘qSr)r!)Ú.0Úklass©rrrÚ
<listcomp>Èsz>TestDatetimeIndexSetOps.test_intersection2.<locals>.<listcomp>ÚaÚbÚcr`) rrÚ intersectionZ equalContentsrArZÚarrayrr1rÚobjectr)rrZ    intersectZcasesr#r$Úthirdr"rrhrÚtest_intersection2Ás
 
 
 
 z*TestDatetimeIndexSetOps.test_intersection2c Cs®tddddd}tddddd}tddddd}tddddd}tddddd}td    d
ddd}tgddd}    ||f||f||    ffD].\}
} | |
¡} t | | ¡| j| jks„t‚q„td d d dg|dd}td d ddg|dd}td d g|dd}td d ddg|dd}td d g|dd}td    d
d|dd}tg|dd}    |    jdksJt‚||f||f||    ffD]H\}
} |j|
|d} |dkrˆ|  ¡} t | | ¡| j| jks`t‚q`dS)Nú6/1/2000z    6/30/2000r(rB)r*Únamez    5/15/2000z    6/20/2000r<z7/1/2000z    7/31/2000z
2011-01-05z
2011-01-04z
2011-01-02z
2011-01-03)r&rsz
2011-02-02z
2011-02-03)r*r&rsr)rrrmrrr*rAr@) rr&rÚbaser5r7r8r:Zrng4Z    expected4r;r"r$rrrÚtest_intersectionÒsVý 
 
ÿ
ÿ
ýý 
 z)TestDatetimeIndexSetOps.test_intersectionr*ÚTÚBcCs |}tdd||d}|dd… |¡}t|ƒdks6t‚|j|jksFt‚| |dd…¡}t|ƒdksht‚|j|jksxt‚|dk}|dd… |dd…¡}t ||dd…¡|rÂ|j|jksÂt‚|dd… |dd…¡}t ||dd…¡|r|j|jkst‚dS)Nrrz    6/15/2000)r*r&rrvr/éýÿÿÿ)rrmr\rAr*rr)rZtz_aware_fixturer*r&r;r$Z
check_freqrrrÚtest_intersection_emptys"z/TestDatetimeIndexSetOps.test_intersection_emptycCsFddlm}tdddd}||dd}| |¡}t|ƒdksBt‚dS)    NrrLrDrEZ12HrFr )Úhours)rPrMrrmr\rA)rrMZindex_1Zindex_2r$rrrÚtest_intersection_bug_1708,s
 
z2TestDatetimeIndexSetOps.test_intersection_bug_1708cCsædddddg}t||d}tddd    |d
}t||d}t||d}tddd    |d
}t|dd …|d}    t||d}
tg|d} t||d} |||f|||    f|
| | ffD]:\} }}|  ||¡}|dkrÔt|ƒrÔ| ¡}t ||¡q¦dS) Nz1/2/2000z1/3/2000r'r-z1/5/2000r0r,r(rr)r/)rrÚ
differencer\r@rr)rr&rZ    rng_datesr2r3r4r5r6r7r8r9r:r;r<r"Z result_diffrrrÚtest_difference5s$      ý z'TestDatetimeIndexSetOps.test_differencecCsštdddd}tdddd}tddgdd}| ||¡}t ||¡t d||¡tdddd}| ||¡}tddgdd}t ||¡t d||¡dS)    NZ20160920Z20160925r(r?Z20160921Z20160924r*Z20160922)rrr|rrZassert_attr_equal)rrr]r<r"Zidx_diffrrrÚtest_difference_freqPs    z,TestDatetimeIndexSetOps.test_difference_freqcCsHtdtdddƒdd}tdtdddƒdd}t| ||¡ƒdksDt‚dS)    NzQ-JANiÍé ééd)r*rar+ébrU)rrr\r|rA)rrZdti1Zdti2rrrÚtest_datetimeindex_diff`sz/TestDatetimeIndexSetOps.test_datetimeindex_diffcCsâtddd|d}|dd… |dd…¡}|j|jks:t‚|j|jksJt‚|j|jksZt‚|dd… |dd…¡}|j|jks„t‚|j|jks”t‚|j|jks¤t‚|dd… |dd…¡}|j|jksÎt‚|jdksÜt‚|j|jksìt‚|dd… |d    d
…¡}|j|jkst‚|jd ks(t‚|j|jks:t‚tt    |d    d
…ƒd d }|dd… |¡}|jdkstt‚|j|jks†t‚|j|jks˜t‚|dd… |¡}|jdksºt‚|j|jksÌt‚|j|jksÞt‚dS)Nr'z1/1/2002rB)rsr&é2réé<ééKr(r<©rs)
rrrsrAr*r&rmZfreqstrrr1)rr&r;r$ZnofreqrrrÚtest_setops_preserve_freqes4z1TestDatetimeIndexSetOps.test_setops_preserve_freqcCsRtddddddgdd}|ddd    … |d
dd    …¡}|dd …}t ||¡dS) Nz
2018-12-31z
2019-03-31z
2019-06-30z
2019-09-30z
2019-12-31z
2020-03-31zQ-DECr?rUr r)rrmrr)rrVr$r"rrrÚ&test_intersection_non_tick_no_fastpathˆsú÷  z>TestDatetimeIndexSetOps.test_intersection_non_tick_no_fastpath)Ú__name__Ú
__module__Ú __qualname__r&rÚpytestÚmarkÚ parametrizerZrnrr1r%r>rCrHrKrQrTrWr^rerqruryr{r}r~rƒrŠr‹rrrrr sHú
 
 
 
          
ÿ
;
     
 
"r c@sdeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Ze    j
d d„ƒZ e j  dddg¡dd„ƒZdS)ÚTestBusinessDatetimeIndexcCs"tttƒ}|dd…}|dd…}|j||d}t|tƒs>t‚|dd…}|dd…}|j||d}t|tƒsrt‚|dd…}|dd…}|j||d}t|tƒs¦t‚|dkrÆt     |j||d|¡n*tt
|ƒt
|ƒƒ}t     |j||d|¡t ttt ƒd}|j||d}t|tƒst‚dS)Nrrrr?) rÚSTARTÚENDrÚ
isinstancerrArrrr1rr    )rrr;rIrJÚ    the_unionr"rrrr>›s(
      z$TestBusinessDatetimeIndex.test_unioncCs¾tddtƒd}|dd…}|dd…}|j||d}|dkrLt ||¡n0tt|dd…ƒt|dd…ƒƒ}t ||¡|dd…}|dd…}|j||d}|dd…}t ||¡dS)    Nr'r„rFrr‡rrNé#)rr
rrrrr1)rrr;r2r5r–r"rrrÚtest_union_not_cacheable¿s  $    z2TestBusinessDatetimeIndex.test_union_not_cacheablecCs¶tddtƒd}|dd…}|dd…}| |¡}|dd…}t ||¡t|tƒsXt‚|j|jksht‚| |     t¡¡}t ||¡|dd… |dd…¡}tgƒ}t ||¡dS)Nr'r„rFrr‡)
rr
rmrrr•rrAr*Úview)rr;r2r5Zthe_intr"rrrruÐs  
   z+TestBusinessDatetimeIndex.test_intersectioncCs>tddƒ}tddƒ}| |¡}t ||¡|j|jks:t‚dS)Nú
11/30/2011ú
12/31/2011ú
12/10/2011ú
12/20/2011©rrmrrr*rA©rrjrkr$rrrÚtest_intersection_bugâs
 
 
 
 z/TestBusinessDatetimeIndex.test_intersection_bugcCs:t d¡t d¡g}t|dd}| |¡}t ||¡dS)Nz
2020-01-01z
2020-02-01rjr‰)ÚpdÚ    Timestamprrmrr)rr!rBÚresrrrÚtest_intersection_listês 
z0TestBusinessDatetimeIndex.test_intersection_listc
Cszddlm}|dƒ}tdddƒ}tdddƒ}tdddƒ}tdddƒ}t|||tƒd}t|||tƒd}    |j|    |d    dS)
Nr)ÚtimezoneréÛr r/r©raÚendr&r*r)Úpytzr¥rrr r)
rrr¥r&Ú early_startÚ    early_endÚ
late_startÚlate_endÚearly_drÚlate_drrrrÚtest_month_range_union_tz_pytzòs     z8TestBusinessDatetimeIndex.test_month_range_union_tz_pytzc
Cszddlm}|dƒ}tdddƒ}tdddƒ}tdddƒ}tdddƒ}t|||tƒd}t|||tƒd}    |j|    |d    dS)
Nr)Údateutil_gettzrr¦r r/rr§r)Zpandas._libs.tslibs.timezonesr±rrr r)
rrr±r&rªr«r¬r­r®r¯rrrÚ"test_month_range_union_tz_dateutils     z<TestBusinessDatetimeIndex.test_month_range_union_tz_dateutilrFNcCsVtt d¡t d¡t d¡gƒ}|j||d}tt d¡t d¡gƒ}t ||¡dS)Nz
2019-12-13z
2019-12-12r)rr¡r¢rmrr)rrÚidx1r$r"rrrÚtest_intersection_duplicatessýÿz6TestBusinessDatetimeIndex.test_intersection_duplicates)rŒrrŽr>r˜rur r¤r°ÚtdZskip_if_windowsr²rrr‘r´rrrrr’šs$
r’c    @s@eZdZdd„Zdd„Zej dddde     d    ¡g¡d
d „ƒZ
dS) ÚTestCustomDatetimeIndexcCsötttdd}|dd…}|dd…}|j||d}t|tƒsBt‚|dd…}|dd…}| ||¡}t|tƒstt‚|dd…}|dd…}|j||d}t|tƒs¨t‚|dkrÆt     |j||d|¡t
ttt ƒd}|j||d}t|tƒsòt‚dS)NÚCr?rrr) rr“r”rr•rrArrrrr    )rrr;rIrJr–rrrr>#s$       z"TestCustomDatetimeIndex.test_unioncCsFtdddd}tdddd}| |¡}t ||¡|j|jksBt‚dS)Nršr›r·r?rœrržrŸrrrr Ds
 
 z-TestCustomDatetimeIndex.test_intersection_bugr&Nrz Europe/BerliniÄÿÿÿcCsJtddd|d}tddd|d}| |¡}tddd|d}t ||¡dS)Nz
2020-03-27rr()r+r*r&z
2020-03-30rU)rrmrr)rr&r³Zidx2r$r"rrrÚ test_intersection_dst_transitionLs
 
z8TestCustomDatetimeIndex.test_intersection_dst_transition) rŒrrŽr>r rrr‘r©Z FixedOffsetr¸rrrrr¶"s!ÿr¶)rÚnumpyrZrr©Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrµrPr¡rrrrrrZpandas._testingZ_testingrZpandas.tseries.offsetsr    r
r r“r”r r’r¶rrrrÚ<module>s