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
U
¬ý°d"Óã @sUddlmZddlmZddlmZddlmZddlZddl    Z
ddl Z ddl Z ddl mZmZmZmZmZmZddlmZddlmZddlmZdd    lmZmZe jeeej gd
d d „ƒZ!d d„Z"dd„Z#dddddddddddg Z$edddƒgZ%de&d<e% 'd d!„e$Dƒ¡e% 'd"d!„e$Dƒ¡Gd#d$„d$ƒZ(Gd%d&„d&ƒZ)Gd'd(„d(ƒZ*Gd)d*„d*ƒZ+Gd+d,„d,ƒZ,Gd-d.„d.ƒZ-Gd/d0„d0ƒZ.Gd1d2„d2ƒZ/d3d4„Z0d5d6„Z1e j2 3d7dd8d9gdd9d:gfg¡d;d<„ƒZ4d=d>„Z5e j2 3d?d8d9d@g¡e j2 3dAdd8d9d@g¡dBdC„ƒƒZ6dDdE„Z7dS)Fé)Ú annotations)Úabc)Ú    timedelta)ÚDecimalN)ÚIndexÚ
RangeIndexÚSeriesÚ    TimedeltaÚTimedeltaIndexÚarray)Úops)Ú expressions)Úassert_invalid_addsub_typeÚassert_invalid_comparison)ÚparamscCs|jS)zL
    Fixture to test behavior for Index, Series and tm.to_array classes
    )Úparam)Úrequest©rú[d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/arithmetic/test_numeric.pyÚbox_pandas_1d_array srcCs8t t |¡¡ ¡r4t t |¡¡ ¡s,t‚|d9}|S)z_
    Helper to adjust the expected result if we are dividing by -0.0
    as opposed to 0.0
    éÿÿÿÿ)ÚnpZsignbitr ÚanyÚallÚAssertionError)ÚzeroÚexpectedrrrÚadjust_negative_zero(srcCsˆ|tjtjfkrt |¡n|}|tjtjfkr8t |¡n|}|||ƒ}| ||¡}t|tƒrx|j     
|j    ¡sx|j      d¡|_    t   ||¡dS©N)r ÚrpowÚoperatorÚpowrÚabsÚcombineÚ
isinstancerÚindexÚequalsÚ
_with_freqÚtmÚassert_series_equal)ÚseriesÚotherÚopÚleftÚrightZcython_or_numpyÚpythonrrrÚ
compare_op7s
 r0Úi1Úi2Úi4Úi8Úu1Úu2Zu4Úu8Úf2Zf4Úf8é
é(zlist[Index | Series]ÚleftscCsg|]}tdddg|d‘qS)r:éé©Údtype)r©Ú.0r@rrrÚ
<listcomp>GsrCcCs&g|]}|dkrtdddg|d‘qS)r8r:r=r>r?)rrArrrrCHsc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestNumericComparisonscCs°t d¡tdddgƒk}dtdddgƒk}t ||¡tdddgƒt d¡k}tdddgƒdk}t ||¡t dddg¡dtdddgƒk}dtdddgƒk}t ||¡dS)Nréééç)rÚfloat64rr(r)r )ÚselfÚresultrrrrÚ(test_operator_series_comparison_zerorankOs  "z?TestNumericComparisons.test_operator_series_comparison_zerorankcCs.|}t tdƒ¡}t ||¡}t|||ƒdS©Né)rr Úranger(Ú box_expectedr)rJÚbox_with_arrayÚ fixed_now_tsÚtsÚobjrrrÚtest_df_numeric_cmp_dt64_raises[s z6TestNumericComparisons.test_df_numeric_cmp_dt64_raisescCsLttj d¡dd}ttj d¡ƒ}t d¡|_t ||d||¡dS)NrNr©Únamez
2000-01-01rE)    rrÚrandomÚrandnÚpdÚ    TimestamprWr(r))rJÚaÚbrrrÚtest_compare_invalidcs z+TestNumericComparisons.test_compare_invalidc    Cs¬|}|tk    r|ntj}ttj d¡ƒ}tj||dd}|dk}ttjdt    dƒ}tj||dd}t 
||¡|dk}t 
||¡d}t j t |d|dkW5QRXdS)Ni †F©Z    transposer\r?z0Invalid comparison between dtype=float64 and str©Úmatch)rrZndarrayrrXrYr(rPÚzerosÚboolÚ assert_equalÚpytestÚraisesÚ    TypeError)rJrQÚboxZxboxrTrKrÚmsgrrrÚ$test_numeric_cmp_string_numexpr_pathks z;TestNumericComparisons.test_numeric_cmp_string_numexpr_pathN)Ú__name__Ú
__module__Ú __qualname__rLrUr^rjrrrrrDNs rDc@sîeZdZej dejee    g¡ejjde
dd„ddd„ƒƒZ ej dejee    g¡ejjde
dd„dd    d
„ƒƒZ ejjd e d d e d d  ¡e d d  ¡e d d  ¡ d¡e d d  ¡ d¡gdd„ddd„ƒZejjd e d d e d d  ¡e d d  ¡gdd„dej dejejg¡dd„ƒƒZdd„Zejjde dde dd ¡e dd ¡e dd ¡ d¡e d¡e dd¡ej d¡ej d ¡ejd!d"d#e d!¡e d!¡ ¡ejd!d$d# ¡e d!¡ ¡e dd%¡ejge dd&d'„ƒZ!d(S))Ú.TestNumericArraylikeArithmeticWithDatetimeLikeÚbox_clsr-cCst|ƒjt|jƒSr©ÚtyperkÚstrr@©ÚxrrrÚ<lambda>ˆóz7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>©ÚidscCs†tjdddgdd}||ƒ}tdddg|jd}t|tƒsB|tkrJt|ƒ}|j|jksZt‚||}t ||¡||}t ||¡dS)    NrErFrGúm8[s]r?Z10sZ40sZ90s)    rr r
r@r$rrr(rd)rJr-ror.rrKrrrÚtest_mul_td64arr†s z?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arrcCst|ƒjt|jƒSrrprsrrrrurvc    CsÒtjdddgdd}||ƒ}tdddg|jd}t|tƒsB|tkrJt|ƒ}|j|jksZt‚||}t ||¡||}t ||¡d    }t    j
t |d
||W5QRXd }t    j
t |d
||W5QRXdS) Nr:r;éZryr?Z1sZ2sZ3sz5ufunc '(true_)?divide' cannot use operands with typesr`z3ufunc 'floor_divide' cannot use operands with types) rr r
r@r$rrr(rdrerfrg)rJr-ror.rrKrirrrÚtest_div_td64arr›s   z?TestNumericArraylikeArithmeticWithDatetimeLike.test_div_td64arrÚ    scalar_tdrE©Údaysztimedelta64[s]ztimedelta64[ms]cCs
t|ƒjSr©rqrkrsrrrruÃrvc
Csš|}|}tdd„tt|ƒƒDƒƒ}t|tjƒr@|j}| |¡}nt|ƒt    krV| d¡}t
  ||¡}t
  ||¡}||}t
  ||¡||}    t
  |    |¡dS)NcSsg|]}t|d‘qS)r~)r    )rBÚnrrrrCÉsz`TestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar.<locals>.<listcomp>úm8[us]) r
rOÚlenr$rÚ timedelta64r@Úastyperqrr(rPrd)
rJr}Ú numeric_idxrQrhr%rr@rKZcommuterrrÚtest_numeric_arr_mul_tdscalarºs    
   zLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalarcCs
t|ƒjSrr€rsrrrruàrvr@c
Csš|}t d¡jtjdd}|j|dd}tj||dd}| d¡ d¡}t|ƒtkr^| d¡}tj||dd}||}    t     |    |¡||}    t     |    |¡dS)Ni NF©Úcopyr_ztimedelta64[D]ztimedelta64[ns]ztimedelta64[us])
rÚaranger…Úint64r(rPÚviewrqrrd)
rJr@r}rQrhZarr_i8ÚarrrTrrKrrrÚ*test_numeric_arr_mul_tdscalar_numexpr_pathÙs 
 zYTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar_numexpr_pathc
    Cs¾|}|dd…}tddgƒ}t|tjƒrR|j}|t d¡krFt d¡}| |¡}nt|ƒtkrh| d¡}t     ||¡}t     ||¡}||}t 
||¡d}    t j t |    d||W5QRXdS)    NrErGz3 Daysz36 Hoursryr‚ú$cannot use operands with types dtyper`)r
r$rr„r@r…rqrr(rPrdrerfrg)
rJZ
three_daysr†rQrhr%rr@rKrirrrÚtest_numeric_arr_rdiv_tdscalarùs"   
 
   zMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalarr+é)Úhourszm8[h]ÚNaTÚDrGrz
2021-01-01z
Asia/Tokyo)ÚtzÚUTCÚnsc Cs>|}t ||¡}d dddddddd    d
d g
¡}t|||ƒdS) Nú|úunsupported operand typez3Addition/subtraction of integers and integer-arrayszInstead of adding/subtractingrz;Concatenation operation is not implemented for NumPy arraysz+Cannot (add|subtract) NaT (to|from) ndarrayzBoperand type\(s\) all returned NotImplemented from __array_ufunc__z(can only perform ops with numeric valuesz*cannot subtract DatetimeArray from ndarrayz.Cannot add or subtract Timedelta from integers)r(rPÚjoinr)rJr†r+rQrhr-rirrrÚ&test_add_sub_datetimedeltalike_invalids  ôÿzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalidN)"rkrlrmreÚmarkÚ parametrizerr rrr<rzr|r    Zto_timedelta64Zto_pytimedeltar…r‡r‹rIrŽrr„rZÚoffsetsZMinuteZSecondr[Ú to_pydatetimeZ to_datetime64Z
datetime64r“Úreprr›rrrrrn…srÿ ÿ   û÷
  ýù       
 
 
 
ïërnc@söeZdZdd„Zdd„Zdd„Zdd„Zej     d    e
j e
j g¡d
d „ƒZ ej     d ejejejg¡d d„ƒZej     d ejejejg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Z d+S),ÚTestDivisionByZerocCsv|}ttjtjtjtjtjgtjd}t||ƒ}||}t ||¡t|ƒ     d¡t 
|¡     d¡}t  |t|ƒ¡dS©Nr?r4© rrÚnanÚinfrIrr(Úassert_index_equalrr…r r)©rJrr†ÚidxrZ    expected2rKÚ
ser_compatrrrÚ test_div_zeroGs"
 z TestDivisionByZero.test_div_zerocCsv|}ttjtjtjtjtjgtjd}t||ƒ}||}t ||¡t|ƒ     d¡t 
|¡     d¡}t  |t|ƒ¡dSr¢r£r§rrrÚtest_floordiv_zeroTs"
 z%TestDivisionByZero.test_floordiv_zerocCsl|}ttjtjtjtjtjgtjd}||}t ||¡t|ƒ d¡t |¡ d¡}t     |t|ƒ¡dSr¢)
rrr¤rIr(r¦rr…r r))rJrr†r¨rrKr©rrrÚ test_mod_zeroas " z TestDivisionByZero.test_mod_zerocCs€|}ttjtjtjtjtjgtjd}ttjtjtjtjtjgtjd}t||ƒ}t||ƒ}t |d|¡t |d|¡dS)Nr?rrE)    rrr¤r¥rIrÚdivmodr(r¦)rJrr†r¨ZexleftZexrightrKrrrÚtest_divmod_zerojs""
 
z#TestDivisionByZero.test_divmod_zeror,cCsd|jtjkrdS|d}ttj tj tj tjtjgtjd}t||ƒ}|||ƒ}t     ||¡dS)NrGr?)
r@rÚuint64rr¥r¤rIrr(r¦)rJrr†r,r¨rrKrrrÚtest_div_negative_zerous (
 
z)TestDivisionByZero.test_div_negative_zeroÚdtype1c        CsÔ|}tddddgdd |¡}tddddgdd |¡}tjd    d
$t|j tj¡|jd dd }W5QRXtj|jdd…<|jd krª|jdkrªt    j
rª|dkrª| d¡}||}t   ||¡|  ||¡rÐt‚dS)NrGérNéÚfirstrVrÚsecondÚignore©rrI©r@rWr‹Úfloat32)rr…rÚerrstateÚvaluesrIr¥Úilocr@ÚexprZ USE_NUMEXPRr(r)r&r)    rJZswitch_numexpr_min_elementsr±Úany_real_numpy_dtypeÚdtype2r´rµrrKrrrÚtest_ser_div_ser„s ý
 z#TestDivisionByZero.test_ser_div_sercCsÌ|}tddgƒ |¡}tddgƒ |¡}||||f}t|ƒ}|d tj¡|d<tj|dd<t||ƒ}t |d|d¡t |d|d¡t|j    |ƒ}t |d|d¡t |d|d¡dS)NrErrF)
rr…ÚlistrrIr¥r­r(r)r»)rJr±r¾r¿r-r.rrKrrrÚtest_ser_divmod_zero¢s
 z'TestDivisionByZero.test_ser_divmod_zerocCs–ttjdgƒ}ttjdgƒ}||||f}t||ƒ}t |d|d¡t |d|d¡t|j|ƒ}t |d|d¡t |d|d¡dS)Nçð?ç@rrE)rrr¥r­r(r)r»)rJr-r.rrKrrrÚtest_ser_divmod_inf¹s
 z&TestDivisionByZero.test_ser_divmod_infcCszt dgd¡}tj d¡}tdgdƒ}|t|ƒ}t ||¡t|ƒ|}t ||¡t|ƒt|ƒ}t ||¡dS)NrrNrH)rr rXrYrr(r))rJZ
zero_arrayÚdatarrKrrrÚtest_rdiv_zero_compatÈs     z(TestDivisionByZero.test_rdiv_zero_compatcCsDtdddgdd}ttj tjtjgdd}|d}t ||¡dS©NrrrEr´rV©rrr¥r¤r(r)©rJÚserrrKrrrÚtest_div_zero_inf_signs×sz*TestDivisionByZero.test_div_zero_inf_signscCs>tdddgdd}tdtjdgdd}d|}t ||¡dS)NrrrEr´rVrH)rrr¤r(r)rÊrrrÚtest_rdiv_zeroßsz!TestDivisionByZero.test_rdiv_zerocCsDtdddgdd}|d}ttj tjtjgdd}t ||¡dSrÈrÉ)rJrËrKrrrrÚtest_floordiv_divçsz$TestDivisionByZero.test_floordiv_divcCsnt ddddgddddgdœ¡}||}tddddgƒ}ttjtjtjdgƒ}t ||dœ¡}t ||¡dS)    NrGr²rNr³r©r´rµrÃrE)rZÚ    DataFramerrr¤r(Úassert_frame_equal)rJÚdfrKr´rµrrrrÚtest_df_div_zero_dfïs  z&TestDivisionByZero.test_df_div_zero_dfc    Cs¤t ddddgddddgdœ¡}tddddgƒ}ttjtjtjdgƒ}t ||dœ¡}tjd    d
|j d ¡|j}W5QRXtj||j|j    d }t
  ||¡dS) NrGr²rNr³rrÏrÃrEr¶r·Úfloat©r%Úcolumns) rZrÐrrr¤rºr»r…r%rÖr(rÑ)rJrÒr´rµrrrKrrrÚtest_df_div_zero_arrayùs z)TestDivisionByZero.test_df_div_zero_arrayc    Csªt ddddgddddgdœ¡}|d}tjtj|j|jd}tj|jdd…df<t     ||¡tj
d    d
|j   d ¡d}W5QRXtj||j|jd}t     ||¡dS) NrGr²rNr³rrÏrÕrEr¶r·rI) rZrÐrr¥r%rÖr¤r¼r(rÑrºr»r…©rJrÒrKrrÚresult2rrrÚtest_df_div_zero_ints  z'TestDivisionByZero.test_df_div_zero_intcCsJt tj dd¡¡}|d}||}||}| d¡ | d¡¡rFt‚dS©Nr:rNr©rZrÐrrXrYZfillnar&r©rJrÒrËÚresZres2rrrÚ(test_df_div_zero_series_does_not_commutes
z;TestDivisionByZero.test_df_div_zero_series_does_not_commutecCsît ddddgddddgdœ¡}tddddgƒ}|s>| d¡}ttjtjtjdgƒ}t ||dœ¡}||}t ||¡tjddddgddddgdœdd    }tddddgd
d }ttjtjtjdgƒ}t ||dœ¡}||}t ||¡dS) NrGr²rNr³rrÏrIFrˆr‹r?)rZrÐrr…rr¤r(rÑ)rJZusing_array_managerrÒr´rµrrKrrrÚtest_df_mod_zero_df s 
 $z&TestDivisionByZero.test_df_mod_zero_dfc    Cs¸t ddddgddddgdœ¡}tddddgdd}ttjtjtjdgƒ}t ||dœ¡}tjd    d
|j|j}W5QRXtj||j|jdd }tj|j    dd…d f<t
  ||¡dS) NrGr²rNr³rrÏrIr?r¶r·)r%rÖr@rE) rZrÐrrr¤rºr»r%rÖr¼r(rÑ)rJrÒr´rµrrrÙrrrÚtest_df_mod_zero_array8s z)TestDivisionByZero.test_df_mod_zero_arrayc    Cs–t ddddgddddgdœ¡}|d}tjtj|j|jd}t ||¡tjdd    |j     
d
¡d}W5QRXtj||j|jd}t ||¡dS) NrGr²rNr³rrÏrÕr¶r·rI) rZrÐrr¤r%rÖr(rÑrºr»r…rØrrrÚtest_df_mod_zero_intIs  z'TestDivisionByZero.test_df_mod_zero_intcCsJt tj dd¡¡}|d}||}||}| d¡ | d¡¡rFt‚dSrÛrÜrÝrrrÚ(test_df_mod_zero_series_does_not_commuteWs
z;TestDivisionByZero.test_df_mod_zero_series_does_not_commuteN)!rkrlrmrªr«r¬r®rerœrr ÚtruedivÚfloordivr°rr‹rIr¯rÀrÂrÅrÇrÌrÍrÎrÓr×rÚrßràrárârãrrrrr¡Fs.       
 
 
 
  r¡c    @sòeZdZdd„Zdd„Zdd„Zej de    j
e j e    j g¡dd    „ƒZd
d „Zd d „Zdd„Zdd„Zdd„Zdd„Zej de    je jg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zej d ejd!d"d#d$ejg¡d%d&„ƒZd'd(„Z d)d*„Z!d+d,„Z"d-S).ÚTestMultiplicationDivisioncCsl|}ttdƒgƒ}ttdƒgƒ}t ||¡}t ||¡}|tdƒ}t ||¡|tdƒ}t ||¡dS)Nr:rNrF)rrr(rPrd)rJrQrhrËrrKrrrÚtest_divide_decimales     z.TestMultiplicationDivision.test_divide_decimalcCsbtddgdd}tddgdd}tdtj gƒ}| |¡}tj||dd    ||}t ||¡dS)
NrErr´rVg{®Gáz„¿g{®Gáz”¿rµF©Z check_names)rrr¥Údivr(r))rJr´rµrrKrrrÚtest_div_equiv_binopus
z/TestMultiplicationDivision.test_div_equiv_binopcCsH|}|d}| d¡}t ||¡|d}t|jdƒ}t ||¡dS)NrErIrF)r…r(r¦rr»)rJr†r¨rKrrrrÚ test_div_intƒs
 z'TestMultiplicationDivision.test_div_intr,cCs*|}t ||¡}||dƒ}t ||¡dS©NrE)r(rPrd)rJr,r†rQr¨rKrrrÚtest_mul_int_identitys 
z0TestMultiplicationDivision.test_mul_int_identitycCsd|}||}|tjddd}t ||d¡|jtjkr>dnd}|tjd|d}t ||¡dS)NrNr‹r?r¯)rr r(r¦r@r¯rŠ)rJr†r¨ÚdidxrKÚ    arr_dtyperrrÚtest_mul_int_array•sz-TestMultiplicationDivision.test_mul_int_arraycCsJ|}||}|jtjkrdnd}|ttjd|dƒ}t |t|ƒ¡dS)Nr¯r‹rNr?)r@rr¯rrŠr(r))rJr†r¨rîrïrKrrrÚtest_mul_int_series s
z.TestMultiplicationDivision.test_mul_int_seriescCsB|}tjddd}|t|dƒ}t||dƒ}t ||¡dS)NrNrIr?gš™™™™™¹?)rrŠrr(r))rJr†r¨Zrng5rKrrrrÚtest_mul_float_series¨s
z0TestMultiplicationDivision.test_mul_float_seriescCs |}||}t ||d¡dS©NrF©r(r¦)rJr†r¨rKrrrÚtest_mul_index°sz)TestMultiplicationDivision.test_mul_indexc    Cs8|}d}tjt|d|tjdddW5QRXdS)Nz,cannot perform __rmul__ with this index typer`Ú20130101rN©Zperiods)rerfrgrZÚ
date_range©rJr†r¨rirrrÚtest_mul_datelike_raises¶sz3TestMultiplicationDivision.test_mul_datelike_raisesc    Csb|}d}tjt|d||dd…W5QRXtjt|d|t ddg¡W5QRXdS)Nz(operands could not be broadcast togetherr`rrGrErF)rerfÚ
ValueErrorrr rùrrrÚtest_mul_size_mismatch_raises¼s z8TestMultiplicationDivision.test_mul_size_mismatch_raisescCsJ|}|}t||jdƒƒ}t ||¡}t ||¡}||dƒ}t ||¡dS)NrÄ©rr»r(rPrd)rJr,r†rQrhr¨rrKrrrÚtest_pow_floatÄs  
z)TestMultiplicationDivision.test_pow_floatcCsF|}|}t|jdƒ}t ||¡}t ||¡}|d}t ||¡dSrórý)rJr†rQrhr¨rrKrrrÚ test_moduloÑs  z&TestMultiplicationDivision.test_moduloc        Csj|}t|dƒ}tjddt|jdƒ\}}W5QRXt|ƒt|ƒf}t||ƒD]\}}t ||¡qPdS)NrFr¶r·)r­rrºr»rÚzipr(r¦)    rJr†r¨rKréÚmodrÚrÚerrrÚtest_divmod_scalarÝs
z-TestMultiplicationDivision.test_divmod_scalarc
    Cs„|}tj|jj|jjdd}t||ƒ}tjddt|j|ƒ\}}W5QRXt|ƒt|ƒf}t||ƒD]\}}    t     
||    ¡qjdS©Nr?rFr¶r·) rÚonesr»Úshaper@r­rºrrr(r¦©
rJr†r¨r+rKrérrrrrrrÚtest_divmod_ndarrayès
z.TestMultiplicationDivision.test_divmod_ndarrayc
    Csˆ|}tj|jj|jjdd}t|t|ƒƒ}tjddt|j|ƒ\}}W5QRXt|ƒt|ƒf}t||ƒD]\}}    t     
||    ¡qndSr) rrr»rr@r­rrºrr(r)rrrrÚtest_divmod_seriesôsz-TestMultiplicationDivision.test_divmod_seriesr+éiéÿÿÿgX9´Èv¾@g…ëQ¸    ÀcCsštj dd¡}dd„}||ƒ}t |t |¡|||ƒ¡t t |¡||||ƒ¡t |t |¡|||ƒ¡t t |¡||||ƒ¡dS)NrNrGcSstj|tdƒdddgdS)NZABCDEZjimZjoeZjolierÕ)rZrÐrÁrsrrrrusÿz?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>)rrXrYr(rÑr )rJr+ÚvalsÚfrÒrrrÚtest_ops_np_scalarsz-TestMultiplicationDivision.test_ops_np_scalarcCst ¡}d|_t d|i¡}tj||||dddtj||||dddtj||k||dkddtj||||ddddS)NrSÚAFrè)r(ÚmakeTimeSeriesrWrZrÐr))rJrSrÒrrrÚtest_operators_framesz/TestMultiplicationDivision.test_operators_framec    Cs(tjddt ddddgddddgdœ¡}|d    |d
}t|d    j|d
jd d }tj|jdd…<t     ||¡|d    d}ttj|j
d    d }t     ||¡|  d ¡}|d    |d
}t|d    j|d
jƒ}t     ||¡|  d ¡}|d    |d
}|d
|d    }|  |¡rt ‚W5QRXdS)Nr¶r·rGr²rNr³rrÏr´rµrIr?©r%rW)rrºrZrÐrr»r¤r¼r(r)r%r…r&r)rJÚprKrrÙrrrÚ test_modulo2s"    
 
z'TestMultiplicationDivision.test_modulo2c    CsntjddXtddgƒ}|d}ttjtjgƒ}t ||¡d|}ttjdgƒ}t ||¡W5QRXdS)Nr¶r·rrErH)rrºrr¤r(r))rJÚsrKrrrrÚtest_modulo_zero_int4s  z/TestMultiplicationDivision.test_modulo_zero_intN)#rkrlrmrçrêrërerœrr Úmulr Zrmulrårírðrñròrõrúrür!rrþrÿrr    r
rr¤r¥rrrrrrrrræas,
 
 
 
ræc @sLeZdZej dedddgedƒddedddgedƒdded    d
ej    ej    ged ƒddfedddgedƒddeddddged ƒddedd d ej    ged ƒddfg¡dd„ƒZ
ej de j ddddgiedƒde j ddddgiedƒde j dd    d
ej    ej    gied ƒdfe j ddddgiedƒde j dddddgied ƒde j ddd d ej    gied ƒdfg¡dd„ƒZ dd„Zdd„Zdd„Zdd„Zdd„Zej dd¡dd „ƒZejjd!d"d#„d$d#„d%d#„gd&d'd(gd)d*d+„ƒZejjd!d,d#„d-d#„gd.d(gd)d/d0„ƒZejjd!d1d#„d2d#„d3d#„gd&d'd(gd)d4d5„ƒZd6d7„Zd8S)9ÚTestAdditionSubtractionzfirst, second, expectedrErFrGÚABCrtrZABDç@ç@ÚABCDr²rNcCs$t |||¡t |||¡dSr)r(r)©rJr´rµrrrrÚtest_add_seriesFsz'TestAdditionSubtraction.test_add_series©r%cCs$t |||¡t |||¡dSr)r(rÑrrrrÚtest_add_framesZsz'TestAdditionSubtraction.test_add_framesc        CsØtt dd¡ƒ}d|}| dd„¡}t ||¡t d|i¡}d|}t d| dd„¡i¡}t ||¡t ¡}d|_    | 
¡}d      d
d g¡}t j t|d ||W5QRXt j t|d ||W5QRXdS) NrNr:Úfoo_cSsd|S©Nr!rrsrrrrusrvzDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>r cSsd|Sr"rrsrrrruxrvrSr˜r™zConcatenation operationr`)rr(Z rands_arrayÚmapr)rZrÐrÑrrWrŸršrerfrg)    rJrRr rKrÚframerSZfix_nowrirrrÚtest_series_frame_radd_bugos(  ýÿz2TestAdditionSubtraction.test_series_frame_radd_bugc    Csttj d¡ƒ}||j ¡}||j}t ||¡ttj    dddtj    dddd}||j ¡}||j}t ||¡d}t
j t |d||j  ¡}W5QRXtjtj dd¡tj    dddd}t d¡|d    <|d    |j ¡|d
<|d    |j|d <tj|d |d
d d dS)NrNrör÷rz.cannot subtract PeriodArray from DatetimeArrayr`rFZ20130102ÚdaterrKFrè)rrrXrYr%Z    to_seriesr(r)rZrørerfrgZ    to_periodrÐr[)rJrËrrKrirÒrrrÚtest_datetime64_with_indexŽs,
   þ
  ÿz2TestAdditionSubtraction.test_datetime64_with_indexc Csð|}tj d¡}t|t |j¡d}||}||}| ¡D]P\}}| ¡D]>\}    }
|||    d} t |
¡s||
| ksŠt‚qLt | ¡sLt‚qLq<| ¡D]T\}}| ¡D]B\}    }
|||    ||} t |
¡sÚ|
| ksèt‚q¦t | ¡s¦t‚q¦q–dS)Nr²rrF)rrXrr rÖÚitemsÚisnanr) rJÚ float_framer$ÚgarbageZ    colSeriesZidSumZ    seriesSumÚcolr*r¨ÚvalZorigValrrrÚtest_frame_operators­s" 
 
z,TestAdditionSubtraction.test_frame_operatorscCs6tj|ddddgd}||}|d}t ||¡dS)Nr”ÚCÚBr)rÖrF)rZrÐr(rÑ)rJr*Zframe2ÚaddedrrrrÚtest_frame_operators_col_alignÆsz6TestAdditionSubtraction.test_frame_operators_col_alignc    Cs:t ddddgi¡}t ||t ddtjdgi¡¡dS)Nr\r]ZaaZbb)rZrÐr(rÑrr¤)rJrÒrrrÚ test_frame_operators_none_to_nanÌsz8TestAdditionSubtraction.test_frame_operators_none_to_nanr@)rÔr‹cCsZtj|dtjdg|dtjdg|dg}|D]&}|| |¡sDt‚t |||¡q.dS)Nr?r)rÖr@r©r%r@)rZrÐr&rr(rÑ)rJr@ÚframesrÒrrrÚtest_frame_operators_empty_likeÐs
ýz7TestAdditionSubtraction.test_frame_operators_empty_likeÚfunccCs|dSrórrsrrrruÞrvz TestAdditionSubtraction.<lambda>cCs|ddd…SrórrsrrrruÞrvcCsdSrMrrsrrrruÞrvÚmultiplyÚsliceZconstantrwcCs*|}t ¡ d¡}||ƒ}t|||ƒdS©NrS©r(rÚrenamer0)rJZall_arithmetic_functionsr7r,r*r+rrrÚ test_series_operators_arithmeticÜsz8TestAdditionSubtraction.test_series_operators_arithmeticcCs|dSrìrrsrrrruèrvcCsdSrMrrsrrrruèrvÚaddcCs*|}t ¡ d¡}||ƒ}t|||ƒdSr:r;)rJZ comparison_opr7r,r*r+rrrÚtest_series_operators_compareçsz5TestAdditionSubtraction.test_series_operators_comparecCs|dSrórrsrrrruòrvcCs|ddd…SrórrsrrrruòrvcCsdSrMrrsrrrruòrvc
    Csêt ¡ d¡}||ƒ}t||ƒ}t|tjƒrbt|ƒt|ƒkrbg}|D]}| |¡| t    j
¡qDn|}t      |¡}t    j ddt|j t      |¡ƒ}W5QRXt||ƒD]@\}}    t t      |¡|    ¡|j|jksÎt‚t |j|j d¡¡q¤dS)NrSr¶r·)r(rr<r­r$rÚIterablerƒÚappendrr¤Zasarrayrºr»rZassert_almost_equalrWrr¦r%r')
rJr7r*r+ÚresultsZother_nprÚ    expectedsrKrrrrÚ test_divmodðs 
 
 
z#TestAdditionSubtraction.test_divmodcCs|t ¡ d¡}|d}t||ƒ}ttjgt|ƒ|jdd}ttj    gt|ƒ|jdd}t 
|d|¡t 
|d|¡dS)NrSrrrE) r(rr<r­rrr¥rƒr%r¤r))rJZtserr+rKÚexp1Úexp2rrrÚtest_series_divmod_zero s
z/TestAdditionSubtraction.test_series_divmod_zeroN)rkrlrmrerœrrrÁrr¤rrZrÐr r%r'r.r2r3r6r=r?rDrGrrrrrBshýýúþ
 ýýúþ
 
ý
ÿ
ý
rc@s²eZdZej deeeg¡ej de    j
e    j e    j g¡dd„ƒƒZ ej deeg¡ej de    j
e    j e    j g¡dd„ƒƒZej deeg¡ej de    j
e    j e    j g¡dd„ƒƒZd    d
„Zd S) ÚTestUFuncCompatÚholderr@cCs|tkr tnt}|tkrD|tjkr4t d|›d¡tdddd}n|tjd|ddd}t |¡}|t tjd|d¡dd}t     
||¡dS)Nzdtype z not relevant for RangeIndexrrNÚfoorVr?) rrrrr‹reÚskiprŠÚsinr(rd)rJrIr@rhr¨rKrrrrÚtest_ufunc_compat!s
 
z!TestUFuncCompat.test_ufunc_compatc    Cs:|dddddg|dd}|tkr$tnt}t |¡}|jdkrFt||ƒsJt‚tt tjdddddgtjd    ¡dd
}t     
||¡}t      ||¡t  |d ¡}|jdkrªt||ƒs®t‚td d dd dgtjdd}t     
||¡}t      ||¡|d }|jdkrþt||ƒst‚tdddddgtjdd}t     
||¡}t      ||¡|d }|jdkrTt||ƒsXt‚tddd d dgtjdd}t     
||¡}t      ||¡|d }|jdkrªt||ƒs®t‚td d dddgtjdd}t     
||¡}t      ||¡|d }|jdkrt||ƒst‚td d dd dgtjdd}t     
||¡}t      ||¡dS)NrErFrGr²rNrtr¸r9r?rVrÄgà?rÃgø?g@rrg@g@g@gð¿rH) rrrÚsqrtr@r$rr rIr(rPrdÚdivide)rJrIr@r¨rhrKÚexprrrÚtest_ufunc_coercions1s@
(            z$TestUFuncCompat.test_ufunc_coercionscCsœ|dddg|dd}|tkr tnt}t |¡}t|tƒs<t‚tdddgtjdd}tddd    gtjdd}t     |d
t 
||¡¡t     |dt 
||¡¡dS) NrErFrGrtr¸rHrÃrÄrr) rrrÚmodfr$ÚtuplerrIr(rdrP)rJrIr@rTrhrKrErFrrrÚ!test_ufunc_multiple_return_values]s
z1TestUFuncCompat.test_ufunc_multiple_return_valuescCsXtdddgdddgdd}tj |ddgd¡tdddgdddgdd}t ||¡dS)    NrrErFrGrtrr:é )rrr>Úatr(r))rJrrrrrÚ test_ufunc_atjszTestUFuncCompat.test_ufunc_atN)rkrlrmrerœrrrrrr‹r¯rIrMrQrTrWrrrrrHs  * rHc@sjeZdZej ddeg¡dd„ƒZej ddeg¡dd„ƒZej de    j
e    j e    j e    j e    jg¡dd    „ƒZdS)
ÚTestObjectDtypeEquivalencer@NcCsv|}tdddg|d}ttjtjtjg|d}t ||¡}t ||¡}tj|}t ||¡|tj}t ||¡dS)NrErFrGr?)rrr¤r(rPrd©rJr@rQrhrËrrKrrrÚtest_numarr_with_dtype_add_nants  
 
z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nancCsl|}tdddg|d}tdddg|d}t ||¡}t ||¡}d|}t ||¡|d}t ||¡dS)NrErFrGr?r²)rr(rPrdrYrrrÚtest_numarr_with_dtype_add_intƒs   z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_intr,cCsLttj d¡t d¡td}|d|ƒ}|d| t¡ƒ}t     | t¡|¡dS)Nr:r4rÃ)
rrrXrYrŠÚobjectr…rÔr(r))rJr,rrKrrrrÚtest_operators_reverse_object“s
z8TestObjectDtypeEquivalence.test_operators_reverse_object)rkrlrmrerœrr\rZr[r r>Úsubrrärår]rrrrrXqs
 
þrXc@sèeZdZej dejejej    ej
ej g¡ej de dddƒe dddƒe dddƒe d    d
d ƒg¡ej d e dddƒe dddƒe dddƒe d    d
d ƒg¡d d„ƒƒƒZ ej dejejej    ej
ej g¡ej de dddƒe dddƒe dddƒe d    d
d ƒg¡ej dd ddg¡dd„ƒƒƒZej de dddƒe dddƒg¡ej d e dddƒe dddƒg¡dd„ƒƒZej de dddƒe dddƒg¡ej dddg¡dd„ƒƒZej dejejej    ej
ej ejejg¡dd„ƒZdd„Zej de dddƒde dddƒfe ddd ƒd e d!d"dƒfe dddƒdee dddƒjƒdfe dd#dƒd$ee dd#dƒjƒd$fe dƒd%e dƒfe dd&dƒd'e dddƒfe d
dd(ƒd&e d)d dƒfe d*d+d'ƒde dƒfg¡d,d-„ƒZej d.ejejg¡ej d/ddd g¡d0d1„ƒƒZd2S)3ÚTestNumericArithmeticUnsortedr,Úidx1rr:rEr=rFiöÿÿÿrNéûÿÿÿrÚidx2cCsL| d¡}| d¡}|||ƒ}|t| ¡ƒt| ¡ƒƒ}tj||dddS©NrJÚbarÚequiv©Úexact)Ú_renamerÚto_numpyr(r¦)rJr,r`rbrKrrrrÚtest_binops_index£s
 
 
 
z/TestNumericArithmeticUnsorted.test_binops_indexr¨ÚscalarcCs0|||ƒ}|t| ¡ƒ|ƒ}tj||dddS©Nrerf)rrir(r¦)rJr,r¨rkrKrrrrÚtest_binops_index_scalarÆs
z6TestNumericArithmeticUnsorted.test_binops_index_scalarcCsL| d¡}| d¡}t||ƒ}tt| ¡ƒt| ¡ƒƒ}tj||dddSrc)rhr!rrir(r¦)rJr`rbrKrrrrÚtest_binops_index_powßs
 
 
 
z3TestNumericArithmeticUnsorted.test_binops_index_powcCs0t||ƒ}tt| ¡ƒ|ƒ}tj||dddSrl)r!rrir(r¦)rJr¨rkrKrrrrÚtest_binops_index_scalar_powês
z:TestNumericArithmeticUnsorted.test_binops_index_scalar_powcCs~tdƒ}ttj d¡ƒ}|t|ƒ|ƒ}|||ƒ}t ||¡t tj dd¡¡}|t ||g¡|ƒ}|||ƒ}t     ||¡dS)NrNrF)
rrrrXrYr(r)rZrÐrÑ)rJr,r%r+rrKrrrÚ$test_arithmetic_with_frame_or_seriesôs
 
zBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_seriescCsJtdddƒ}|d}tdddƒ}tj||dd|d}tdddƒ}tj||dd|d}td    d
dƒ}tj||dd|d}tdd d ƒ d ¡}tj||dd|d}tdddƒd}tj||dd|d }|}tj||dd||}t|j|jƒ}tj||ddtdddƒ}|d}t|jƒd}tjt|jƒ|dddS)Nrr:rFr=r²TrfrUéþÿÿÿr³rNrErIéè)rr(r¦r…rr»Ú_values)rJr¨rKrrrrÚtest_numeric_compat2s4     z2TestNumericArithmeticUnsorted.test_numeric_compat2zidx, div, expectedrriôiÿÿÿi7ÿÿÿéýÿÿÿé!éCédrÄé2r²rGiúÿÿÿrqiœÿÿÿi8ÿÿÿcCstj|||dddS)NTrfrô)rJr¨rérrrrÚtest_numeric_compat2_floordiv8sz;TestNumericArithmeticUnsorted.test_numeric_compat2_floordivr@ÚdeltacCs ||ƒ}tdddg|d}||}t|j||d}t ||¡||}t|j||d}t ||¡t ||d|¡t ||d|¡||jrœt‚dS)Nr:é rUr?rFr)rr»r(r¦Úemptyr)rJr@r{r%rKrrrrÚtest_addsub_arithmeticRs  z4TestNumericArithmeticUnsorted.test_addsub_arithmeticN)rkrlrmrerœrr r>r^rrårärrjrmrnror!rrprtrrsrzrr‹rIr~rrrrr_ s¬ûþ
 
 
 
 
üþ    
 
 
 
üþ    ûþ
 
 
 
 
üþ             ùþ
)
ý
ýïþ
r_cCs~t dddgdddgdœ¡}tjddddgiddd    gd
}|j|dd }t tjd d d gd tjd tjgdœ¡}t ||¡dS)NrrErFgš™™™™™ñ?)rr0rg333333ó?gÍÌÌÌÌÌô?rGr©Z
fill_valuerÃrH)rZrÐZ    rfloordivrr¥r¤r(rÑ)rÒr+rKrrrrÚtest_fill_value_inf_maskingfsÿr€c    Cstjt d¡tjddddgdtjgdt d¡dœtdƒtdƒd    }tjtj dd¡td
ƒtd ƒd    }t     d¡|j
|d d W5QRXdS)Nr:rErFrGr²)rr0r/r”Z
abcdefghijrrÕZ
abcdefghjkZABCXrr) rZrÐrrŠr¤rÁrXrYr(Zassert_produces_warningré)Zpdf1Zpdf2rrrÚtest_dataframe_div_silencedts 
üø
 ÿ rzdata, expected_datarErFr²c
Cs|t|dd}||ƒ}|||ƒ}||ƒ|}t||fkr>t}nt||fkrPt}nt}||dd}    t ||    ¡t ||    ¡dS)NZInt64r?)r rrr(rd)
rZ box_1d_arrayrÆZ expected_datarÚ    containerr-r.ÚclsrrrrÚ test_integer_array_add_list_like‡s       r„cCs‚tjdtj d¡itjjddgdddggddgd    d
}| ¡}|j     dd¡|_||}tjd gddg|jd }t
  ||¡dS) Nr\ér]rrErFZlevAZlevB)ÚnamesrrH)rÖr%) rZrÐrrXrYZ
MultiIndexZ from_productr‰r%Z    swaplevelr(rÑ)rÒZdf2rKrrrrÚ"test_sub_multiindex_swapped_levels¡sÿþr‡ÚpowerrNÚ string_sizecCsXt td|ƒ¡}tj|tjd}d|}||k}t tj|jtd¡}t     
||¡dS)Nr:r?ú ) rr rOrZrÐr‹rbrrcr(rÑ)rˆr‰r\r.r-rKrrrrÚtest_empty_str_comparison°s r‹cCsptdddgƒ}tdddgdd}||}tdddgdd}t ||¡||}tddd    gdd}t ||¡dS)
NrErFrGZUInt64r?r…ZFloat64rr)rr(r))Zseries1Zseries2rKrrrrÚtest_series_add_sub_with_UInt64½s rŒ)8Ú
__future__rÚ collectionsrÚdatetimerÚdecimalrr ÚnumpyrreZpandasrZrrrr    r
r Zpandas._testingZ_testingr(Z pandas.corer Zpandas.core.computationr r½Zpandas.tests.arithmetic.commonrrZfixtureZto_arrayrrr0Z_ldtypesr<Ú__annotations__ÚextendrDrnr¡rærrHrXr_r€rrœrr„r‡r‹rŒrrrrÚ<module>s^        
7Bb^R/Gþ