zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
U
¬ý°dMæã@s ddlZddlZddlZddlmZmZmZmZddl    m
Z
ddl Z ddl m Z mZmZmZmZddlmZddlmZddlmZddlmZmZmZGdd    „d    ƒZGd
d „d ƒZGd d „d ƒZGdd„dƒZ Gdd„dƒZ!Gdd„dƒZ"Gdd„dƒZ#Gdd„dƒZ$dS)éN)ÚIncompatibleFrequencyÚPeriodÚ    TimestampÚ    to_offset)ÚPerformanceWarning)Ú PeriodIndexÚSeriesÚ    TimedeltaÚTimedeltaIndexÚ period_range)Úops)ÚTimedeltaArray)Úassert_invalid_addsub_typeÚassert_invalid_comparisonÚget_upcast_boxc@seZdZej ddedddg¡dd„ƒZdd„Zej d    d
e    d ƒe
d d dddddg¡dd„ƒZ ej de j dd dje jdd dje d ¡e d ¡ ej¡eed ƒƒddddge dd¡e dd¡ e¡e  ddddg¡g    ¡dd„ƒZej deejdd „g¡d!d"„ƒZdS)#ÚTestPeriodArrayLikeComparisonsÚotherÚ2017ÚD©ÚfreqcCs^tdddgdd}t ||¡}t||dƒ}t dddg¡}t ||¡}||k}t ||¡dS)NrZ2018rrTF©rÚtmÚ box_expectedrÚnpÚarrayÚ assert_equal)ÚselfrÚbox_with_arrayÚidxÚxboxÚexpectedÚresult©r#úZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/arithmetic/test_period.pyÚtest_eq_scalar+s   z-TestPeriodArrayLikeComparisons.test_eq_scalarcCsltddd}t | ¡d¡}t ||¡}t||dƒ}||k}t ddddg¡}t ||¡}t ||¡dS)NÚ2000é©ÚperiodsrTF)r rrZto_numpyrrrr)rrÚpirr r"r!r#r#r$Útest_compare_zerodim8s    z3TestPeriodArrayLikeComparisons.test_compare_zerodimÚscalarZfooz
2021-01-01r'©Údaysé    g#@iÐFNcCs(tddd}t ||¡}t|||ƒdS©Nr&r'r(©r rrr)rrr,r*Úparrr#r#r$Útest_compare_invalid_scalarFs  z:TestPeriodArrayLikeComparisons.test_compare_invalid_scalarr&r(Z1DiÑiÒiÓiÔcCs(tddd}t ||¡}t|||ƒdSr0r1)rrrr*r2r#r#r$Útest_compare_invalid_listlikeZs  z<TestPeriodArrayLikeComparisons.test_compare_invalid_listlikeÚ    other_boxcCs
| t¡S©N)ÚastypeÚobject©Úxr#r#r$Ú<lambda>nóz'TestPeriodArrayLikeComparisons.<lambda>c    Cstddd}t ||¡}||ƒ}t||dƒ}t dddddg¡}t ||¡}||k}t ||¡||k}t ||¡||k}t ||¡||k}t ||¡||k}t ||¡||k}t ||¡||ddd…ƒ}t dddddg¡}t ||¡}||k}t ||¡t dddddg¡}t ||¡}||k}t ||¡t dddddg¡}t ||¡}||k}t ||¡t dddddg¡}t ||¡}||k}t ||¡t dddddg¡}t ||¡}||k}t ||¡t dddddg¡}t ||¡}||k}t ||¡dS)Nr&ér(TéÿÿÿÿF)r rrrrrr)    rrr5r*r2rr r!r"r#r#r$Útest_compare_object_dtypensV                  z8TestPeriodArrayLikeComparisons.test_compare_object_dtype)Ú__name__Ú
__module__Ú __qualname__ÚpytestÚmarkÚ parametrizerr%r+rr    r3ÚpdÚ
date_rangerZtimedelta_rangerÚaranger7Úfloat64ÚlistÚranger8ÚIndexr4r?r#r#r#r$r&s@
øþ
 
 
 
öþ
rc@sÂeZdZdd„Zdd„Zej ddddg¡d    d
„ƒZej ddddg¡d d „ƒZ    ej ddddg¡d d„ƒZ
ej ddddg¡dd„ƒZ ej ddddg¡dd„ƒZ ej de dg¡dd„ƒZdS)ÚTestPeriodIndexComparisonscCs~tdddd}|d}||k}|j|jdk}t ||¡|j dd¡|k}t || dd¡¡|t |¡k}t ||¡dS)Nú2007-01éÚM©r)ré
é)r ÚvaluesrÚassert_numpy_array_equalZreshaperr)rrÚperr"Úexpr#r#r$Útest_pi_cmp_period«s z-TestPeriodIndexComparisons.test_pi_cmp_periodcsžtdddd}|d‰‡fdd„|Dƒ}t ||¡}t|ˆdƒ}t ||¡}|ˆk}t ||¡|d    ‰|ˆk}‡fd
d„|Dƒ}t ||¡}t ||¡dS) Nz
2000-01-01rRrrQécsg|] }|ˆk‘qSr#r#©Ú.0r:©Úvalr#r$Ú
<listcomp>ÀszKTestPeriodIndexComparisons.test_parr_cmp_period_scalar2.<locals>.<listcomp>Tr=csg|] }|ˆk‘qSr#r#rZr\r#r$r^Ës)r rrrr)rrr*r!Úserr r"r#r\r$Útest_parr_cmp_period_scalar2¼s     z7TestPeriodIndexComparisons.test_parr_cmp_period_scalar2rrPÚ2MÚ3McCs°tddddg|d}t ||¡}td|d}t||dƒ}t ddddg¡}t ||¡}t ||k|¡t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ||k|¡dS)Nú2011-01ú2011-02ú2011-03ú2011-04rTF)rrrrrrrr)rrrÚbaserVr rWr#r#r$Útest_parr_cmp_period_scalarÏs8         z6TestPeriodIndexComparisons.test_parr_cmp_period_scalarcCsXtddddg|d}t ||¡}tddddg|d}t||dƒ}t ddddg¡}t ||¡}t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ddddg¡}t ||¡}t ||k|¡t ddddg¡}t ||¡}t ||k|¡dS)    Nrcrdrerfrú2011-05TFr)rrrrgrr rWr#r#r$Útest_parr_cmp_piõs,        z+TestPeriodIndexComparisons.test_parr_cmp_pic    CsŠtddddg|d}t ||¡}d|›d}tjt|d|td    d
dkW5QRXtjt|dtd    d
d|kW5QRXtd    d d d gd
d}d}|tjtj    fkr¬|n|}tjt|d||kW5QRXd|›d}tjt|d|td    ddkW5QRXtjt|dtd    dd|kW5QRXtd    d d d gdd}d}|tjtj    fkr`|n|}tjt|d||kW5QRXdS)Nrcrdrerfrú)Invalid comparison between dtype=period\[z \] and Period©ÚmatchÚ2011ÚAÚ2012Ú2013Ú2014z@Invalid comparison between dtype=period\[A-DEC\] and PeriodArrayÚ4Mz=Invalid comparison between dtype=period\[4M\] and PeriodArray)
rrrrCÚraisesÚ    TypeErrorrÚto_arrayrFr)rrrrgÚmsgrZrev_msgZidx_msgr#r#r$Ú test_parr_cmp_pi_mismatched_freqs,   z;TestPeriodIndexComparisons.test_parr_cmp_pi_mismatched_freqcCs¨tddddg|d}|d}||k}t ddddg¡}t ||¡||k}t ||¡|tjk}t ddddg¡}t ||¡tj|k}t ||¡|tjk}t ddddg¡}t ||¡tj|k}t ||¡tddd    dg|d}||k}t ddddg¡}t ||¡||k}t ddddg¡}t ||¡||k}t ddddg¡}t ||¡||k}t ddddg¡}t ||¡||k}t ddddg¡}t ||¡dS)
NrcrdÚNaTriréFTrf)rrrrrUrFry)rrÚidx1rVr"rWZidx2r#r#r$Útest_pi_cmp_nat;sB  
 
 
 
     z*TestPeriodIndexComparisons.test_pi_cmp_natc    Cs„tddddg|d}tddddgdd}d|›d    }tjt|d
||kW5QRX||k}tjd d d d gtd }t ||¡dS) Nrcrdryrirrfrsrkz\] and PeriodArrayrlF©Údtype)    rrCrtrurrÚboolrrU)rrr{Zdiffrwr"r!r#r#r$Ú&test_pi_cmp_nat_mismatched_freq_raisesgs zATestPeriodIndexComparisons.test_pi_cmp_nat_mismatched_freq_raisesr~NcCs2ttdƒtjtdƒgƒ}ttjtjtdƒgƒ}|dk    rJ| |¡}| |¡}||k}t dddg¡}t ||¡||k}t dddg¡}t ||¡t dddg¡}t |tjk|¡t tj|k|¡t dddg¡}t |tjk|¡t tj|k|¡t dddg¡}t |tjk|¡t tj|k|¡dS)Nú
2011-01-01ú
2011-01-03FT)    rrrFryr7rrrrU)rr~ÚleftÚrightr"r!r#r#r$Ú test_comp_natus(
 
  z(TestPeriodIndexComparisons.test_comp_nat)r@rArBrXr`rCrDrErhrjrxr|r€r8r…r#r#r#r$rM¨s
%
"
"
+
rMc@seZdZdd„ZdS)ÚTestPeriodSeriesComparisonscCs$ttdddtdddtdddtdddgƒ}ttdddtd    ddtdddtd
ddgƒ}td d d d gƒ}t ||k|¡td d d d gƒ}t ||k|¡td d d d gƒ}t ||k|¡td d d d gƒ}t ||k|¡td d d d gƒ}t ||k|¡td d d d gƒ}t ||k|¡dS) NrnrorrdrPrqrfrprcriFT)rrrÚassert_series_equal)rrgr_rWr#r#r$Ú(test_cmp_series_period_series_mixed_freq”s4
 
 
 
üÿ    
 
 
 
üÿ    zDTestPeriodSeriesComparisons.test_cmp_series_period_series_mixed_freqN)r@rArBrˆr#r#r#r$r†“sr†c@s(eZdZdZdd„Zdd„Zdd„ZdS)    Ú*TestPeriodIndexSeriesComparisonConsistencyú2Test PeriodIndex and Period Series Ops consistencycCs`t|ƒ}||ƒ}t|tjtjfƒs&t‚t ||¡t    |ƒ}||ƒ}t    ||j
d}t  ||¡dS©N©Úname) rÚ
isinstancerFrLrZndarrayÚAssertionErrorrrrrr‡)rrTÚfuncr!rr"ÚsrWr#r#r$Ú_checkÀs z1TestPeriodIndexSeriesComparisonConsistency._checkcsPtddddgddd}|d‰‡fd    d
„}tjd d d d gtjd }| |||¡‡fdd
„}| |||¡‡fdd
„}tjd d d d gtjd }| |||¡‡fdd
„}| |||¡‡fdd
„}tjd d d d gtjd }| |||¡‡fdd
„}tjd d d d gtjd }| |||¡‡fdd
„}tjd d d d gtjd }| |||¡dS)NrcrdrerfrPr©rrrScs|ˆkSr6r#r9©rVr#r$r;Ör<zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>FTr}csˆ|kSr6r#r9r”r#r$r;Ùr<cs|ˆkSr6r#r9r”r#r$r;Ür<csˆ|kSr6r#r9r”r#r$r;ßr<csˆ|kSr6r#r9r”r#r$r;âr<cs|ˆkSr6r#r9r”r#r$r;ær<csˆ|kSr6r#r9r”r#r$r;êr<©rrrZbool_r’©rrÚfrWr#r”r$Útest_pi_comp_periodÐs2
ÿ       z>TestPeriodIndexSeriesComparisonConsistency.test_pi_comp_periodcstddddgddd}|d‰‡fd    d
„}tjd d d d gtjd }| |||¡‡fdd
„}| |||¡dd
„}tjd d d d gtjd }| |||¡dd
„}| |||¡‡fdd
„}tjd d d d gtjd }| |||¡‡fdd
„}| |||¡dd
„}tjd d d d gtjd }| |||¡dd
„}| |||¡‡fdd
„}tjd d d d gtjd }| |||¡‡fdd
„}tjd d d d gtjd }| |||¡dd
„}tjd d d d gtjd }| |||¡dd
„}tjd d d d gtjd }| |||¡dS)NrcryrerfrPrr“rScs|ˆkSr6r#r9r”r#r$r;ôr<zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>FTr}csˆ|kSr6r#r9r”r#r$r;÷r<cSs
|tjkSr6©rFryr9r#r#r$r;úr<cSs
tj|kSr6r™r9r#r#r$r;ýr<cs|ˆkSr6r#r9r”r#r$r;r<csˆ|kSr6r#r9r”r#r$r;r<cSs
|tjkSr6r™r9r#r#r$r;r<cSs
tj|kSr6r™r9r#r#r$r;    r<csˆ|kSr6r#r9r”r#r$r; r<cs|ˆkSr6r#r9r”r#r$r;r<cSs
|tjkSr6r™r9r#r#r$r;r<cSs
tj|kSr6r™r9r#r#r$r;r<r•r–r#r”r$Útest_pi_comp_period_natîsL
ÿ      zBTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_natN)r@rArBÚ__doc__r’r˜ršr#r#r#r$r‰»sr‰c@seZdZdd„ZdS)ÚTestPeriodFrameArithmeticcCs’t tdddtdddgtdddtdddgdœ¡}|djd    ksJt‚|d
jd    ks\t‚td dd}|j}t tjd |d |gtdtjd|d|gtddœ¡}t     
|||¡t     
||d|¡t tdddtdddgtdddtdddgdœ¡}|djd    kst‚|d
jd    ks.t‚t tjd|d|gtdtjd|d|gtddœ¡}t     
|||¡t     
||d|¡dS)Nz2015-01rPrz2015-02ú2014-01z2014-02)roÚBroz    Period[M]ržz2015-03rSrzr}éé r>z2015-05z2015-06r'é) rFÚ    DataFramerr~rrrrr8rZassert_frame_equal)rZdfÚpÚoffrWZdf2r#r#r$Útest_ops_frame_period"s<þÿ þÿþÿþÿz/TestPeriodFrameArithmetic.test_ops_frame_periodN)r@rArBr¥r#r#r#r$rœ!srœc@s,eZdZdd„Zdd„Zdd„Zdd„Zej     d    d
d d d g¡dd„ƒZ
ej     d    d
d d d g¡ej     de j j dfe j jdfe j jdfe j jdfg¡dd„ƒƒZej     dedƒedƒ ¡edƒ ¡e jdd dde jdd dde jdd ddje jdd ddjde d d!d"g¡g    ¡d#d$„ƒZd%d&„Zd'd(„Zej     d)d*d+d,dg¡ej     d-ddg¡d.d/„ƒƒZej     d0eje jg¡d1d2„ƒZej     d0eje jg¡d3d4„ƒZd5d6„Z d7d8„Z!ej     d9d:ejd:ej"d;g¡d<d=„ƒZ#d>d?„Z$d@dA„Z%ej     dBdCdDg¡dEdF„ƒZ&dGdH„Z'ej     dIeje jg¡ej     dJe(j)e*j+g¡dKdL„ƒƒZ,ej     dIeje jg¡dMdN„ƒZ-dOdP„Z.ej     dQdRdSdTdUdVdWdXg¡dYdZ„ƒZ/d[d\„Z0d]d^„Z1d_d`„Z2dadb„Z3dcdd„Z4dedf„Z5dgdh„Z6didj„Z7dkdl„Z8dmdn„Z9ej     dBdCdDg¡dodp„ƒZ:ej     dejdqgdrdsd;e; <dqgdr¡g¡dtdu„ƒZ=dvdw„Z>dxdy„Z?dS)zÚTestPeriodIndexArithmeticc    Csttdddd}tdddd}t ||¡}d}tjt|d||W5QRXtjt|d||7}W5QRXdS)Nú1/1/2000rr=©rr)ú1/6/2000z/unsupported operand type\(s\) for \+: .* and .*rl)r rrrCrtru)rrÚrngrrwr#r#r$Útest_parr_add_iadd_parr_raisesSs z8TestPeriodIndexArithmetic.test_parr_add_iadd_parr_raisescCsbtdddd}tdddd}|j}t d|gd¡}||}t ||¡||8}t ||¡dS)Nr§rr=r¨r©éûÿÿÿ)r rrFrLrÚassert_index_equal)rrªrr¤r!r"r#r#r$Útest_pi_sub_isub_pids z-TestPeriodIndexArithmetic.test_pi_sub_isub_picCs†tdddd}|dd… dtj¡}|dd… |dd…¡sBt‚||}|j}t tjd|d|d|d|g¡}t     ||¡dS)Nr§rr=r¨rzr)
r ÚinsertrFryÚequalsrrrLrr­)rrªrr"r¤r!r#r#r$Útest_pi_sub_pi_with_natts&z1TestPeriodIndexArithmetic.test_pi_sub_pi_with_natc    Cs^tdddd}tdddd}t ||¡}t ||¡}d}tjt|d||W5QRXdS)    Nr§rr=r¨r©ÚHz;Input has different freq=[HD] from PeriodArray\(freq=[DH]\)rl)r rrrCrtr)rrZbox_with_array2rªrrwr#r#r$Ú test_parr_sub_pi_mismatched_freq~s  z:TestPeriodIndexArithmetic.test_parr_sub_pi_mismatched_freqÚnrzrSrYr'cCsdd}d}t|g||ƒd}t|g||ƒd}t|g|jjdt|g|jjd}t |||¡dS)NÚ19910905Ú19920406r)rrrgrr­)rZ tick_classesr´Úp1_dÚp2_dÚp1Úp2r!r#r#r$Útest_sub_n_gt_1_ticksˆsÿz/TestPeriodIndexArithmetic.test_sub_n_gt_1_tickszoffset, kwd_nameÚmonthÚ startingMonthNÚweekdayc Cs„|dk    r|dini}d}d}||fddi|—Ž}t|g|d}t|g|d}    |    |}
t|g|jdt|g|jd} t |
| ¡dS)NrYrµr¶Ú    normalizeFr)rrgrr­) rÚoffsetZkwd_namer´Úkwdsr·r¸rr¹rºr"r!r#r#r$Útest_sub_n_gt_1_offsets–s ÿz1TestPeriodIndexArithmetic.test_sub_n_gt_1_offsetsrú
2016-01-01r²rQzEurope/Brussels)r)ÚtzÚSz
Asia/Tokyog…ëQ¸    @g@g@g@c    CsÄtdddd}t ||¡}d dddd    g¡}t|||ƒtjt|d
||W5QRXtjt|d
||W5QRXtjt|d
||W5QRXtjt|d
||W5QRXdS) Nr§rrYr¨ú|z!(:?cannot add PeriodArray and .*)z&(:?cannot subtract .* from (:?a\s)?.*)z3(:?unsupported operand type\(s\) for \+: .* and .*)z1unsupported operand type\(s\) for [+-]: .* and .*rl)r rrÚjoinrrCrtru)rrrrªrwr#r#r$Útest_parr_add_sub_invalid³s$ üÿ z3TestPeriodIndexArithmetic.test_parr_add_sub_invalidc    Cs¶tdddd}tdddgƒ}|j}d}tjt|d||W5QRXtjt|d||W5QRXtjt|d||W5QRXd}tjt|d||W5QRXdS)    Nr§ÚQrYr¨ú-1 DayzCCannot add or subtract timedelta64\[ns\] dtype from period\[Q-DEC\]rlz/cannot subtract PeriodArray from TimedeltaArray)r r
rTrCrtru)rrªÚtdiÚtdarrrwr#r#r$Ú*test_pi_add_sub_td64_array_non_tick_raisesÞszDTestPeriodIndexArithmetic.test_pi_add_sub_td64_array_non_tick_raisesc    Cstdddd}tdddgƒ}|j}tdddd}||}t ||¡||}t ||¡||}t ||¡||}t ||¡tdddd}||}t ||¡||}t ||¡d}tjt|d    ||W5QRXtjt|d    ||W5QRXdS)
Nr§Z90DrYr¨rÊz
12/31/1999z1/2/2000úcannot subtract .* from .*rl)r r
rTrr­rCrtru)rrªrËrÌr!r"rwr#r#r$Útest_pi_add_sub_td64_array_tickïs,      z9TestPeriodIndexArithmetic.test_pi_add_sub_td64_array_tickÚpi_freqrÚWrÉÚtdi_freqc     Csr|}|tjtjfkr|ntj}tddg|d}tdƒ|}| |¡}t ||¡}    |dkrÊ||    }
|     d¡| |¡} t | |¡} t 
|
| ¡|d|    }
|d     d¡| |¡} t | |¡} t 
|
| ¡n¤|dkr"d    } t j t | d
||    W5QRXt j t | d
|d|    W5QRXnLd } t j t| d
||    W5QRXt j t| d
|d|    W5QRXdS) Nz1 hoursz2 hoursrz2018-03-07 17:16:40r²rÅrrúnCannot add/subtract timedelta-like from PeriodArray that is not an integer multiple of the PeriodArray's freq.rlz"Cannot add or subtract timedelta64)rFrrrvrLr
rZ    to_periodrZ to_timestamprrCrtrru) rrrÒrÐÚboxr rËZdtir*Ztd64objr"r!rwr#r#r$Útest_parr_sub_td64arrays6 
 
ÿz1TestPeriodIndexArithmetic.test_parr_sub_td64arrayrÔc    
Cs@ttdƒtdƒgƒ}|tjjdddtjjdddgƒ}ttdƒtdƒgƒ t¡}t t    ¡||}W5QRXt 
||¡t t    ¡||}W5QRXt 
||¡t   tjj dd    tjjdd    g¡}d
}tjt|d $t t    ¡||W5QRXW5QRXtjt|d $t t    ¡||W5QRXW5QRXdS) NÚ2015Q1Ú2016Q2rzé ©r´r½éþÿÿÿZ2015Q2Z2015Q4©r´z1Input cannot be converted to Period\(freq=Q-DEC\)rl)rrrFÚoffsetsÚ
QuarterEndr7r8rÚassert_produces_warningrr­rrÚHourZMinuterCrtr)    rrÔr*Zoffsr!ÚresZres2Z
unanchoredrwr#r#r$Útest_pi_add_offset_array?s*þÿ    "  z2TestPeriodIndexArithmetic.test_pi_add_offset_arrayc
s ttdƒtdƒgƒ‰|tjjdddtjjdddgƒ‰t‡‡fdd„ttˆƒƒDƒƒ}| t¡}t     
t ¡ˆˆ}W5QRXt      ||¡|tj  ¡tjjd    d
gƒ}d }tjt|d $t     
t ¡ˆ|W5QRXW5QRXtjt|d $t     
t ¡|ˆW5QRXW5QRXdS) NrÖr×rzrØrÙrÚcsg|]}ˆ|ˆ|‘qSr#r#)r[r´©rr*r#r$r^iszFTestPeriodIndexArithmetic.test_pi_sub_offset_array.<locals>.<listcomp>rSrÛz6Input has different freq=-1M from Period\(freq=Q-DEC\)rl)rrrFrÜrÝrKÚlenr7r8rrÞrr­ÚMonthEndÚDayrCrtr)rrÔr!ràZanchoredrwr#râr$Útest_pi_sub_offset_array^s&þÿ 
    z2TestPeriodIndexArithmetic.test_pi_sub_offset_arraycCsHtdddd}||}tdddd}t ||¡||7}t ||¡dS)Nú2000-01-01 09:00r²rRr¨z2000-01-01 10:00©r rr­©rZonerªr"r!r#r#r$Útest_pi_add_iadd_int|s  z.TestPeriodIndexArithmetic.test_pi_add_iadd_intcCsHtdddd}||}tdddd}t ||¡||8}t ||¡dS)z‹
        PeriodIndex.__sub__ and __isub__ with several representations of
        the integer 1, e.g. int, np.int64, np.uint8, ...
        rçr²rRr¨z2000-01-01 08:00Nrèrér#r#r$Útest_pi_sub_isub_int…s  z.TestPeriodIndexArithmetic.test_pi_sub_isub_intÚfiver=r}cCs.tddd}||}|| }t ||¡dS)NrNé2r(rè)rrìrªr"rWr#r#r$Útest_pi_sub_intlike‘s 
z-TestPeriodIndexArithmetic.test_pi_sub_intlikecCsxtdddd}t d¡}||}t dd„t||ƒDƒ¡}t ||¡||}t dd„t||ƒDƒ¡}t ||¡dS)NrÃrRÚ2DrQcSsg|]\}}||‘qSr#r#©r[r:Úyr#r#r$r^ŸszQTestPeriodIndexArithmetic.test_pi_add_sub_int_array_freqn_gt1.<locals>.<listcomp>cSsg|]\}}||‘qSr#r#rðr#r#r$r^£s)r rrHrFrLÚziprr­)rr*Zarrr"r!r#r#r$Ú#test_pi_add_sub_int_array_freqn_gt1™s
 z=TestPeriodIndexArithmetic.test_pi_add_sub_int_array_freqn_gt1cCs¬tdddd}|tj d¡}tdddd}t ||¡|tj d¡8}t ||¡tdd    d
d}|tj d¡}td d d
d}t ||¡|tj d¡8}t ||¡dS) NrrÚ2024rorr=Z2009Ú2019rú2016-12rPz2013-08z2016-07)r rFrÜÚYearEndrr­rä©rrªr"r!r#r#r$Útest_pi_sub_isub_offset¦s   z1TestPeriodIndexArithmetic.test_pi_sub_isub_offsetÚ    transposeTFcCsttddd}t|gƒ}tdgdd}tj|||d}tj|||d}||j}t ||¡|j|}t ||¡dS)Nú2016-01rarz2016-03©rú)rrrrrr)rrrúrVr*r!r"r#r#r$Útest_pi_add_offset_n_gt1¸s 
 
 
z2TestPeriodIndexArithmetic.test_pi_add_offset_n_gt1cCshtdgdd}tdgdd}t ||¡}t ||¡}|tdƒ}t ||¡tdƒ|}t ||¡dS)Nrûrarz2016-04rb)rrrrr)rrr*r!r"r#r#r$Ú&test_pi_add_offset_n_gt1_not_divisibleËs     z@TestPeriodIndexArithmetic.test_pi_add_offset_n_gt1_not_divisibleÚ
int_holderÚopcCsNttdƒtdƒgƒ}|ddgƒ}|||ƒ}ttdƒtdƒgƒ}t ||¡dS)NrÖryr'r>Z2016Q1)rrrr­)rrÿrr*rr"r!r#r#r$Útest_pi_add_intarrayÝs
 
z.TestPeriodIndexArithmetic.test_pi_add_intarrayc    Csrttdƒtdƒgƒ}|ddgƒ}||}ttdƒtdƒgƒ}t ||¡d}tjt|d||W5QRXdS)NrÖryr'r>Z2014Q1ú+bad operand type for unary -: 'PeriodArray'rl)rrrr­rCrtru)rrÿr*rr"r!rwr#r#r$Útest_pi_sub_intarrayès  z.TestPeriodIndexArithmetic.test_pi_sub_intarrayc    CsÊ|}tdddd}t ||¡}tdddgdd}t ||¡}||}t ||¡||}t ||¡td    d
d gdd}t ||¡}||}t ||¡d  d dg¡}tjt|d||W5QRXdS)Nú
2014-05-01rYrïrQú
2014-05-04z
2014-05-06z
2014-05-08rú
2014-04-28z
2014-04-30z
2014-05-02rÆrú4cannot subtract PeriodArray from timedelta64\[[hD]\]rl)    r rrrrrÇrCrtru)rÚ
three_daysrrrªr!r"rwr#r#r$Ú&test_parr_add_timedeltalike_minute_gt1ús(      þÿz@TestPeriodIndexArithmetic.test_parr_add_timedeltalike_minute_gt1ÚfreqstrZ5nsZ5usZ5msZ5sZ5TZ5hZ5dc
    CsÒ|}tdd|d}|d}t ||¡}t||d|d}t ||¡}||}t ||¡||}t ||¡t||d|d}t ||¡}||}t ||¡d ddg¡}    tjt|    d||W5QRXdS)    NrérQrrÆrrrl)r rrrrÇrCrtru)
rrr
rrrªÚfirstr!r"rwr#r#r$Ú$test_parr_add_timedeltalike_tick_gt1s*      þÿz>TestPeriodIndexArithmetic.test_parr_add_timedeltalike_tick_gt1cCsL|}tdddd}tdddd}||}t ||¡||7}t ||¡dS)Nrú
2014-05-15rrrz
2014-05-18rè©rrrrªr!r"r#r#r$Ú$test_pi_add_iadd_timedeltalike_daily;s z>TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_dailycCsL|}tdddd}tdddd}||}t ||¡||8}t ||¡dS)Nrrrrrz
2014-05-12rèrr#r#r$Ú$test_pi_sub_isub_timedeltalike_dailyGs z>TestPeriodIndexArithmetic.test_pi_sub_isub_timedeltalike_dailyc    Cs¸|}tdddd}t ||¡}d ddg¡}tjt|d||W5QRXtjt|d||7}W5QRXtjt|d||W5QRXtjt|d||8}W5QRXdS)    NrrrrrÆz7Input has different freq(=.+)? from Period.*?\(freq=D\)rÓrl©r rrrÇrCrtr)rZ    not_dailyrrrªrwr#r#r$Ú3test_parr_add_sub_timedeltalike_freq_mismatch_dailySs  üÿ    zMTestPeriodIndexArithmetic.test_parr_add_sub_timedeltalike_freq_mismatch_dailycCsL|}tdddd}tdddd}||}t ||¡||7}t ||¡dS)Nú2014-01-01 10:00ú2014-01-05 10:00r²rz2014-01-01 12:00z2014-01-05 12:00rè©rZ    two_hoursrrªr!r"r#r#r$Ú%test_pi_add_iadd_timedeltalike_hourlyls z?TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_hourlyc    Cst|}tdddd}t ||¡}d ddg¡}tjt|d||W5QRXtjt|d||7}W5QRXdS)    Nrrr²rrÆz7Input has different freq(=.+)? from Period.*?\(freq=H\)rÓrlr)rZ
not_hourlyrrrªrwr#r#r$Ú2test_parr_add_timedeltalike_mismatched_freq_hourlyws üÿ
zLTestPeriodIndexArithmetic.test_parr_add_timedeltalike_mismatched_freq_hourlycCsL|}tdddd}tdddd}||}t ||¡||8}t ||¡dS)Nrrr²rz2014-01-01 08:00z2014-01-05 08:00rèrr#r#r$Ú%test_pi_sub_isub_timedeltalike_hourlys z?TestPeriodIndexArithmetic.test_pi_sub_isub_timedeltalike_hourlycCsXtdddd}|tj d¡}tdddd}t ||¡|tj d¡7}t ||¡dS)Nrrrôrorr=rõZ2029)r rFrÜr÷rr­rør#r#r$Ú"test_add_iadd_timedeltalike_annual˜s  z<TestPeriodIndexArithmetic.test_add_iadd_timedeltalike_annualc    Cs¢|}tdddd}d}tjt|d||W5QRXtjt|d||7}W5QRXtjt|d||W5QRXtjt|d||8}W5QRXdS)Nrrrôrorz;Input has different freq(=.+)? from Period.*?\(freq=A-DEC\)rl©r rCrtr©rZmismatched_freqrrªrwr#r#r$Ú2test_pi_add_sub_timedeltalike_freq_mismatch_annual¢szLTestPeriodIndexArithmetic.test_pi_add_sub_timedeltalike_freq_mismatch_annualcCsXtdddd}tdddd}|tj d¡}t ||¡|tj d¡7}t ||¡dS)NrrörPrz2014-06z2017-05r=)r rFrÜrärr­)rrªr!r"r#r#r$Ú test_pi_add_iadd_timedeltalike_M¯s  z:TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_Mc    Cs¢|}tdddd}d}tjt|d||W5QRXtjt|d||7}W5QRXtjt|d||W5QRXtjt|d||8}W5QRXdS)NrrörPrz7Input has different freq(=.+)? from Period.*?\(freq=M\)rlrrr#r#r$Ú3test_pi_add_sub_timedeltalike_freq_mismatch_monthly¹szMTestPeriodIndexArithmetic.test_pi_add_sub_timedeltalike_freq_mismatch_monthlyc        Cs°tdddd}t d¡}tdgddd}tj|||d}tj|||d}||}t ||¡||}t ||¡||}t ||¡d}tjt    |d    ||W5QRXdS)
1994-04-01r/Ú19DrQryrrürÎrl)
r rÚ timedelta64rrrrrCrtru)    rrrúr*rr!Úobjr"rwr#r#r$Útest_parr_add_sub_td64_natÆs
   z4TestPeriodIndexArithmetic.test_parr_add_sub_td64_natryr/zm8[ns]c    Cs<tdddd}tdgddd}t ||¡}t ||¡}||}t ||¡||}t ||¡||}t ||¡d}tjt|d||W5QRX| ¡}t     
d    d
¡|d    <t|d    gdgd dd}t ||¡}||}t ||¡||}t ||¡||}t ||¡tjt|d||W5QRXdS) Nr r/r!rQryrrÎrlrÚnsé) r rrrrrCrtruÚcopyrr")rrrr*r!r#r"rwr#r#r$Ú!test_parr_add_sub_tdt64_nat_arrayÚs2         z;TestPeriodIndexArithmetic.test_parr_add_sub_tdt64_nat_arraycCs2tddd}|j}||}||}t ||¡dS)Nú
2000-12-31rYr()r rrr­)rr*r2r"r!r#r#r$Útest_parr_add_sub_indexs
 z1TestPeriodIndexArithmetic.test_parr_add_sub_indexc    Cs¾tdddd}|j}t tddtj d¡dg¡}t t    ¡||}W5QRXt
dd    d
gdd j   t ¡}t ||¡t t    ¡||}W5QRXt
d gddd j   t ¡}t ||¡dS) Nr)rYrrQrzr-rSz
2001-01-01z
2001-01-03z
2001-01-05rz
2000-12-30)r rrr    rFrÜrårrÞrrÚ_datar7r8r)rr*r2rr"r!r#r#r$Útest_parr_add_sub_object_array s  ÿþ  z8TestPeriodIndexArithmetic.test_parr_add_sub_object_array)@r@rArBr«r®r±r³rCrDrEr»rFrÜr÷rÝräZWeekrÂrZ to_pydatetimeZ to_datetime64rGr+rrrÈrÍrÏrÕrLrárærêrëÚint64rîrórùrýrþÚoperatorÚaddr Zraddrrr    r rrrrrrrrrrr$r Z_from_sequencer(r*r,r#r#r#r$r¦Lsš
 
 
 
 
 
 
üþ     
 
ôþ
 /
 
     
 
     
!
 
 
 
þþ
#    r¦c@seZdZdd„Zdd„ZdS)ÚTestPeriodSeriesArithmeticcCs®ttdddtdddgdd}|jdks.t‚ttdddtd    ddgdd}t ||¡}|tjkrv|jdk     ¡svt‚t ||¡}||}t 
||¡||}t 
||¡dS)
2015-01-01rrú
2015-01-02ÚxxxrŒú    Period[D]ú
2015-01-04ú
2015-01-05) rrr~rrrrFr¢ZdtypesÚallr)rrrr_r!r#r"r#r#r$Ú"test_parr_add_timedeltalike_scalar#s"þþ 
  z=TestPeriodSeriesArithmetic.test_parr_add_timedeltalike_scalarcCsîttdddtdddgdd}|jdks.t‚tddd}|j}td    |d
|gdtd }t |||¡t ||d |¡ttd ddtdddgdd}|jdks¬t‚td|d|gdtd }t |||¡t ||d |¡dS)Nr1rrr2r3rŒr4z
2015-01-10r/r&)rr~r>r6r5r'rS)rrr~rrr8rr‡)rr_rVr¤r!Ús2r#r#r$Útest_ops_series_period<s$þ þz1TestPeriodSeriesArithmetic.test_ops_series_periodN)r@rArBr8r:r#r#r#r$r0"sr0c @s°eZdZdZdd„Zdd„Zej dddg¡ej d    d
d „d d „d d „dd „dd „dd „dd „dd „g¡dd„ƒƒZ    dd„Z
dd„Z dd„Z dd„Z dd„Zdd „Zd!d"„Zd#S)$ÚTestPeriodIndexSeriesMethodsrŠcCsJt|ƒ}||ƒ}t ||¡t|ƒ}||ƒ}t||jd}t ||¡dSr‹)rrrrrr‡)rrTrr!rr"r_rWr#r#r$r’Ys z#TestPeriodIndexSeriesMethods._checkcCsôtddddgddd}tdddd    gddd}| |d
d „|¡| |d d „|¡| |d dd „|¡|tddd}|j}tjd|d|d |d|gdd}t ||¡tddd|}tjd|d|d|d|gdd}t ||¡dS)NrcrdrerfrPrr“riú2011-06cSs|dS©NrSr#r9r#r#r$r;mr<z:TestPeriodIndexSeriesMethods.test_pi_ops.<locals>.<lambda>cSsd|Sr=r#r9r#r#r$r;nr<rScSs|dSr=r#r9r#r#r$r;pr<rrrzrYrŒr>rÚéýÿÿÿ)rr’rrrFrLrr­)rrr!r"r¤rWr#r#r$Ú test_pi_opsds(
ÿ
ÿ& &z(TestPeriodIndexSeriesMethods.test_pi_opsÚngÚstrgø?rcCs||Sr6r#©r#r@r#r#r$r;r<z%TestPeriodIndexSeriesMethods.<lambda>cCs||Sr6r#rBr#r#r$r;€r<cCs||Sr6r#rBr#r#r$r;r<cCs||Sr6r#rBr#r#r$r;‚r<cCs t ||¡Sr6©rr/rBr#r#r$r;ƒr<cCs t ||¡Sr6rCrBr#r#r$r;„r<cCs t ||¡Sr6©rÚsubtractrBr#r#r$r;…r<cCs t ||¡Sr6rDrBr#r#r$r;†r<c    Cs\tddddgddd}t ||¡}d d    d
d d g¡}tjt|d |||ƒW5QRXdS)NrcrdrerfrPrr“rÆzunsupported operand type\(s\)zcan only concatenatez must be strzobject to str implicitlyrl)rrrrÇrCrtru)rr@rrrr#rwr#r#r$Útest_parr_ops_errors{s
ÿ üÿ    z1TestPeriodIndexSeriesMethods.test_parr_ops_errorscCs tddddgddd}tdddd    gddd}| |d
d „|¡| |d d „|¡| |d d „|¡| |ddd „|¡| |ddd „|¡tddddgddd}tddddgddd}| |dd „|¡| |dd „|¡| |dd „|¡| |ddd „|¡| |ddd „|¡dS)NrcrdryrfrPrr“rer<cSs|dSr=r#r9r#r#r$r;¢r<z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>cSsd|Sr=r#r9r#r#r$r;£r<cSs t |d¡Sr=rCr9r#r#r$r;¤r<rScSs|dSr=r#r9r#r#r$r;¦r<cSs t |d¡Sr=rDr9r#r#r$r;§r<raz2011-07ú2011-08z2011-10cSs|dS©NrYr#r9r#r#r$r;±r<cSsd|SrHr#r9r#r#r$r;²r<cSs t |d¡SrHrCr9r#r#r$r;³r<rYcSs|dSrHr#r9r#r#r$r;µr<cSs t |d¡SrHrDr9r#r#r$r;¶r<©rr’)rrr!r#r#r$Útest_pi_ops_natšs<
ÿ
ÿ
ÿ
ÿz,TestPeriodIndexSeriesMethods.test_pi_ops_natcCsÊtddddgddd}dd    „}tdddd
gddd}| |||¡d d    „}td ddd gddd}| |||¡dd    „}tddddgddd}| |||¡dd    „}tdddd gddd}| |||¡dS)NrcrdryrfrPrr“cSs|t ddddg¡S©NrzrSrYr'©rrr9r#r#r$r;¼r<zDTestPeriodIndexSeriesMethods.test_pi_ops_array_int.<locals>.<lambda>rGc    Sst |t ddddg¡¡S)Nr'r>rzrS)rr/rr9r#r#r$r;Âr<rir<cSs|t ddddg¡SrKrLr9r#r#r$r;Èr<z2010-12c    Sst |t ddddg¡¡S)NrYrSrÚ)rrErr9r#r#r$r;Îr<z2010-10rIr–r#r#r$Útest_pi_ops_array_int¸sB
ÿ
ÿ
ÿ
ÿ
ÿz2TestPeriodIndexSeriesMethods.test_pi_ops_array_intcCsžtddddgddd}dd    „}td
d d d gddd}| |||¡dd    „}tddddgddd}| |||¡dd    „}tddddgddd}| |||¡dS)Nrú
2011-02-01ú
2011-03-01ú
2011-04-01rrr“cSs|tj ¡Sr6©rFrÜrår9r#r#r$r;Úr<zATestPeriodIndexSeriesMethods.test_pi_ops_offset.<locals>.<lambda>z
2011-01-02z
2011-02-02z
2011-03-02z
2011-04-02cSs|tj d¡Sr=rQr9r#r#r$r;âr<r‚z
2011-02-03z
2011-03-03z
2011-04-03cSs|tj d¡Sr=rQr9r#r#r$r;êr<z
2010-12-30z
2011-01-30z
2011-02-27z
2011-03-30rIr–r#r#r$Útest_pi_ops_offsetÔs4
ý
ý
ý
ýz/TestPeriodIndexSeriesMethods.test_pi_ops_offsetc
Cs²tddddgddd}t|ƒ}d}||fD]‚}tjt|d    |tj d
¡W5QRXtjt|d    tj d
¡|W5QRXtjt|d    |tj d
¡W5QRXq*dS) NrrNrOrPrrr“zmCannot add/subtract timedelta-like from PeriodArray that is not an integer multiple of the PeriodArray's freqrlrS)rrrCrtrrFrÜrß)rrr_rwr#r#r#r$Útest_pi_offset_errorsòs
ýÿ z2TestPeriodIndexSeriesMethods.test_pi_offset_errorscCs\tddddgddd}|tddd    }|j}tjd
|d |d |d |gdd}t ||¡t |tddd    ¡}t ||¡tddd    |}tjd|d|d|d|gdd}t ||¡t tddd    |¡}t ||¡t    tj
tj
tj
tj
gdd}|tddd    }t ||¡|j|jks*t ‚tddd    |}t ||¡|j|jksXt ‚dS)NrcrdrerfrPrr“ú2012-01réôÿÿÿiõÿÿÿéöÿÿÿé÷ÿÿÿrŒrØé rRr/ry) rrrrFrLrr­rrEr
Únanr©rrr"r¤rWr#r#r$Útest_pi_sub_periods.
ÿ&  &    z/TestPeriodIndexSeriesMethods.test_pi_sub_periodcCsRtddddgddd}ttjgddd    }t tj||¡t |tj|¡dS)
NrcrdryrfrPrr“r'rŒ)rr
rFryrr­)rrrWr#r#r$Útest_pi_sub_pdnat&s
ÿz.TestPeriodIndexSeriesMethods.test_pi_sub_pdnatcCsìtddddgddd}|tddd    }|j}tjd
|tjd |d |gdd }t ||¡tddd    |}tjd|tjd|d|gdd }t ||¡tt    j
t    j
t    j
t    j
gdd }t |tddd    |¡t tddd    ||¡dS)NrcryrerfrPrr“rTrrUrVrWrŒrØrRr/) rrrrFrLryrr­r
rrYrZr#r#r$Útest_pi_sub_period_nat/s
ÿ$ $ z3TestPeriodIndexSeriesMethods.test_pi_sub_period_natN)r@rArBr›r’r?rCrDrErFrJrMrRrSr[r\r]r#r#r#r$r;Vs0 øþ     r;)%r.ÚnumpyrrCZpandas._libs.tslibsrrrrZ pandas.errorsrZpandasrFrrr    r
r Zpandas._testingZ_testingrZ pandas.corer Zpandas.core.arraysr Zpandas.tests.arithmetic.commonrrrrrMr†r‰rœr¦r0r;r#r#r#r$Ú<module>s2    
l(f+[4