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
U
­ý°díÿã@sddlmZddlmZmZddlmZddlZddlZddl    Z    ddl
m Z ddl m Z mZmZddlmmZddlmZddlZddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z"ddl#m$Z%d    Z&Gd
d „d ƒZ'Gd d „d ƒZ(dd„Z)dZ*dZ+Gdd„dƒZ,Gdd„dƒZ-dS)é)Ú
namedtuple)ÚdatetimeÚ    timedelta©ÚDecimalN)ÚiNaT)ÚInvalidIndexErrorÚPerformanceWarningÚSettingWithCopyError)Ú
is_integer) Ú CategoricalÚ    DataFrameÚ DatetimeIndexÚIndexÚ
MultiIndexÚSeriesÚ    TimestampÚ
date_rangeÚisnaÚnotnaÚ to_datetimezBslice indices must be integers or None or have an __index__ methodc@s eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
e j   ddddgdddgdddgg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Ze j!d8d9„ƒZ"d:d;„Z#d<d=„Z$d>d?„Z%e j!d@dA„ƒZ&dBdC„Z'e j!dDdE„ƒZ(dFdG„Z)dHdI„Z*dJdK„Z+dLdM„Z,dNdO„Z-dPdQ„Z.dRdS„Z/dTdU„Z0dVdW„Z1dXdY„Z2dZd[„Z3d\d]„Z4d^d_„Z5d`da„Z6dbdc„Z7e j   ddddg¡dedf„ƒZ8dgdh„Z9didj„Z:dkdl„Z;dmdn„Z<dodp„Z=dqdr„Z>dsdt„Z?dudv„Z@dwdx„ZAdydz„ZBd{d|„ZCd}d~„ZDdd€„ZEdd‚„ZFe j   dƒeGjHeGjH Id„¡eGjH Id…¡g¡d†d‡„ƒZJdˆd‰„ZKdŠd‹„ZLe j   dŒddŽg¡e j   dddgg¡d‘d’„ƒƒZMe j!d“d”„ƒZNd•d–„ZOe j   dŒd—d—geGjPeGjPgg¡d˜d™„ƒZQe j   dŒd—eGjPg¡dšd›„ƒZRe j   dœeSeTeUjVg¡ddž„ƒZWdŸd „ZXe j   d¡dgdg¡e j   d¢id£dŽig¡d¤d¥„ƒƒZYe j   d¢id¦dig¡d§d¨„ƒZZd©dª„Z[d«d¬„Z\d­d®„Z]e j   d¡dd¯g¡e j   d°e^d±g¡d²d³„ƒƒZ_e j   d´ddg¡e j   d¡dµdµgg¡d¶d·„ƒƒZ`e j   d¸eajbdŽfeajcd¹fg¡dºd»„ƒZdd—S)¼ÚTestDataFrameIndexingc    Cs¬|dd…}t|jƒdkst‚| ¡D].\}}t|jƒdks@t‚t |j|j¡s&t‚q&|j ¡D]\}}||dk    s`t‚q`d|ks†t‚tjt    dd|dW5QRXdS)NéÚrandom©Úmatch)
ÚlenÚindexÚAssertionErrorÚitemsÚtmZ equalContentsZ_seriesÚpytestÚraisesÚKeyError)ÚselfÚ float_frameÚslÚ_ÚseriesÚkey©r*ú`d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/indexing/test_indexing.pyÚ test_getitem+s  z"TestDataFrameIndexing.test_getitemcCsr|}tdddg|d}tdddgdddgg|d    }|d}tddgddggtddg|dd    }tj||d
d dS) Nér©Údtypeééééé©ÚcolumnsT©Z check_exact©rr r Úassert_frame_equal)r$Úany_numeric_dtyper/ÚidxÚdfÚresultÚexpectedr*r*r+Ú6test_getitem_numeric_should_not_fallback_to_positional<s $zLTestDataFrameIndexing.test_getitem_numeric_should_not_fallback_to_positionalc    Csx| ¡}tj t|ƒ¡|d<tj t|ƒ¡}||d<tjtt     d¡d| 
d¡W5QRX|d}t   ||j ¡dS)Nz$10z@awesome_domainz 'df["$10"]'rz    df["$10"])ÚcopyÚnprÚrandnrr!r"r#ÚreÚescapeÚ __getitem__r Zassert_numpy_array_equalÚvalues)r$r%r<ÚadÚresr*r*r+Ú test_getitem2Esz#TestDataFrameIndexing.test_getitem2cCsj|}tdddg|d}tdddgdddgg|d    }d
|d<td
dd
gd
dd
gg|d    }tj||d d dS) Nr-rr.r0r1r2r3r4r5é
Tr7r8)r$r:r/r;r<r>r*r*r+Ú6test_setitem_numeric_should_not_fallback_to_positionalRs zLTestDataFrameIndexing.test_setitem_numeric_should_not_fallback_to_positionalc    CsÒd|d<|ddg}||ddg<tj|d|dddtj|d|dddd}tjt|d|ddg|dg<W5QRXtt|jƒd    ƒ}d
t|ƒ›d t|ƒ›d }tjt|d||d<W5QRXdS) NÚfooÚEÚAÚBF©Z check_namesz"Columns must be same length as keyrr-zLength of values \(z$\) does not match length of index \(z\))r Úassert_series_equalr!r"Ú
ValueErrorÚrangerr)r$r%ÚdataÚmsgZ newcolumndatar*r*r+Útest_setitem_list[s  ÿz'TestDataFrameIndexing.test_setitem_listcCsÔtdtdƒddgtjd}ddg|jdddgf<|j|jdddgf}tddg|jtjdd}t     ||¡d    |d<|d<d
d g|j|jdddgf<|j|jdddgf}td
d g|jdd }t     ||¡dS) Nrr1Ztt1Ztt2)rr6r/r-r0)r/ÚnameÚ0Ú1Ú2©rW)
r rSrAÚint_Úlocrrr6r rQ©r$r<r=r>r*r*r+Útest_setitem_list2ns z(TestDataFrameIndexing.test_setitem_list2c    sÊ|jd}|j|k}| t¡}|j|}||}t ||j¡tjtdd||dd…W5QRX||}    t |    |¡tjtdd||W5QRXt    ||jƒ}||}    t |    |¡t 
t ¡0|  |jddd…¡}||}    t |    |¡W5QRX|||fD]¼}
|
  ¡‰|
|
dk} t‡fdd„ˆjDƒˆjˆjd    } |
jD]} | | krH|
| | | <qH| j |
jd
} tj| | d d |
jD]6} | | j| | jkrŠ| | j|
| jksŠt‚qАqdS) NrJzItem wrong lengthréÿÿÿÿzBoolean array expectedrcs*i|]"}|t ˆ|dkˆ|tj¡“qS)r)rAÚwhereÚnan)Ú.0Úc©rTr*r+Ú
<dictcomp>§sz>TestDataFrameIndexing.test_getitem_boolean.<locals>.<dictcomp>©rr6r5F)Z check_dtype)rÚastypeÚobjectr Zassert_index_equalr!r"rRr9rÚassert_produces_warningÚ UserWarningÚreindexZ_get_numeric_datar r6r/r)r$Zmixed_float_frameZmixed_int_frameÚdatetime_frameÚdÚindexerZ indexer_objZsubindexZsubframeZ subframe_objr<ZbifZbifwrdr*rer+Útest_getitem_boolean|sL
 
 
 
    ý ý
 
 
z*TestDataFrameIndexing.test_getitem_booleanc
CsX| ¡}d|d<|d d¡|d<|d ¡|d<d|d<|d d¡|d<|d ¡|d<||dk}|j}tt d    ¡gd
t d¡gd t d¡gd d d ddddddgd}t ||¡d|j|j    dd…ddgf<||dk}|j}tt d    ¡gd
t d¡gt d    ¡gt d¡gt d    ¡gd d ddddddgd}t ||¡dS)Nr-rMÚint32ZE1ÚFÚint64ZF1rÚfloat64r2r0rNrOÚCÚD©rr1)
r@rhÚdtypesrrAr/r rQr]r)r$rmr<Zcastedr=r>r*r*r+Útest_getitem_boolean_casting·sD ÿþü  
ÿ
þ
ý
üúz2TestDataFrameIndexing.test_getitem_boolean_castingÚlstTFcCs>tt d¡ dd¡ƒ}||}|j|j|}t ||¡dS)Né r1r2)r rAÚarangeZreshaper]rr r9)r$rzr<r=r>r*r*r+Útest_getitem_boolean_listÙsz/TestDataFrameIndexing.test_getitem_boolean_listcCsbtj dd¡}t| ¡dddddgd}||dkd    7<||dkd    7<t |j|¡dS)
Nr3rNrOrurvrMr5rr-)rArrBr r@r Úassert_almost_equalrF)r$Úarrr<r*r*r+Útest_getitem_boolean_iaddâs
z/TestDataFrameIndexing.test_getitem_boolean_iaddcCs>tt ddg¡dgtgƒd}t gt¡}||d||<dS)Nrr-rN©r6r)r rAÚemptyrÚarrayÚbool)r$ZblahÚkr*r*r+Útest_boolean_index_empty_cornerìs z5TestDataFrameIndexing.test_boolean_index_empty_cornercCs„ttj dd¡ddddgdddgd}|jdd    …}|j|jdd    …}t ||¡|jddg}|jt    ddgƒ}t ||¡dS)
Nr2r1r-rJrurMr0rgr`)
r rArrBÚilocr]rr r9rr^r*r*r+Útest_getitem_ix_mixed_integerös
ÿ z3TestDataFrameIndexing.test_getitem_ix_mixed_integercCsŽtdddddgdddd    gd
dd d gd œddd
dgd}|dg}|jdd…dgf}t ||¡|dg}|jdd…dgf}t ||¡dS)N)çø?gš™™™™™@gš™™™™™    @ç@é éé$é(rJéé+é"rré)Úrnaéüÿÿréèr“r”r•r5r1r-©r r‡r r9r^r*r*r+Útest_getitem_ix_mixed_integer2s
 
 
ü
ù    
 
z4TestDataFrameIndexing.test_getitem_ix_mixed_integer2c    Cs:t |j|d¡d}tjt|d |jW5QRXdS)NrNz6'DataFrame' object has no attribute 'NONEXISTENT_NAME'r)r rQrNr!r"ÚAttributeErrorZNONEXISTENT_NAME)r$r%rUr*r*r+Ú test_getattrsz"TestDataFrameIndexing.test_getattrcCs0tdditdƒd}d|_|jdk ¡s,t‚dS)NÚfoobarr-rJrwr3)r rSršÚallr©r$r<r*r*r+Útest_setattr_columnsz)TestDataFrameIndexing.test_setattr_columnc    Csª|dddd…}||d<d|ks&t‚t|ƒdks6t‚t|ƒdksFt‚t t |jtjgdf¡¡}t||jdd}t     
|d|¡|d}||d<t    j
||ddd    tj   t|ƒ¡}||d
<|d
|k  ¡sÔt‚d |d <|d d k  ¡sðt‚d |d<|dd k  ¡st‚d|d<|ddk  ¡s,t‚|dd…}d}|rPddg|d<n&tjt|dddg|d<W5QRX|djtjksŒt‚|dddgk  ¡s¦t‚dS)NrNr0Zcol5ér’©rrWZcol6FrPZcol9r3Zcol7g…ëQ¸    @Zcol0rLZcol8zC\nA value is trying to be set on a copy of a slice from a DataFramerYrZZcol10r)rrrAZravelZ column_stackrFrbrrr rQrrBr›r!r"r
r/Úobject_)r$r%Úusing_copy_on_writer(ÚexprZsmallerrUr*r*r+Ú test_setitem!s8  z"TestDataFrameIndexing.test_setitemcCsbtddggƒ}tj|jd<ttjtjggƒ}t ||¡tddggƒ}tj|jd<t ||¡dS)Nr)r rArbr‡r r9r]©r$r<r>r*r*r+Ú test_setitem2Os   z#TestDataFrameIndexing.test_setitem2c        Cs.| ¡}|j ¡}d||ddk<d||dd…dfdk<t |j|¡|ddk}| |jddd…¡}d||<d||dd…dfdk<t |j|¡d||dk<d||dk<t |j|¡d||dk<d||dk<t |j|¡d||dd…dk<t |dd…|dd…dkd¡t |j|¡d||ddd…dk<d||dk<t |j|¡d    }tj    t
|d
d||d<W5QRX| ¡}|t  |¡k}tj ||t  |¡k<|j ¡}tj ||j<t ||j|jd }t ||¡|d||t  |¡k<t ||j|jd¡t ||j|jd }t ||¡dS) Nr2rNrr`r-r3r0r1z;Must pass DataFrame or 2-d ndarray with boolean values onlyrrg)r@rFr r~rlrrAZputmaskr!r"Ú    TypeErrorÚabsrbr r6r9)    r$r%r<rFr(rUZdf_origÚmaskr>r*r*r+Útest_setitem_booleanZsH
     " 
  z*TestDataFrameIndexing.test_setitem_booleancCs|d d¡|d<|djtjks&t‚d|d<|djtjksBt‚t t|ƒ¡|d<t|djjtj    ƒslt‚d|d<d|d<|djtjkst‚d|d<d|d<|djtj
ks´t‚d|d<|djtjksÐt‚d    |d<|djtjksìt‚d|d<|djtj
ks
t‚dS)
NrvÚi8rrOÚbarrLç@Z    somethingr0) rhr/rArsrr|rÚ
issubclassÚtypeÚintegerrt©r$r%r*r*r+Útest_setitem_castŽs$z'TestDataFrameIndexing.test_setitem_castcCsˆtdddgdddgdœt d¡d    }|d
=dddg|d
<d
|ksDt‚t|jƒd ksVt‚d |d <d|d<d|d<d|t ¡<d|t ¡<t|jd    }d|d <d|d
<t|jƒd ks´t‚|j    j
tj ksÆt‚d|d<|dj
tj ksât‚d|d<|dj
tj ksþt‚d|d <d|d dkst‚tt d¡d    }d|d <d|d<|d=d|d<|dj
tj ks`t‚dddg|d<|dj
tj ks„t‚dS)Nçð?ç@ç@ÚaÚbrd)rOrur1rwrOr0Z    beginningrNrLrMr«rvÚdateç@r-rurrYrZÚ3Z    coercible)r rAr|rrr6rÚnowrrFr/r rsrt)r$r%r<Údmr*r*r+Útest_setitem_corner«s:$    z)TestDataFrameIndexing.test_setitem_cornercCs„dddgdgdtj d¡dœ}t|ƒ}||ddkj}d|j|dgf<d|j|dgf<|jd    dksnt‚|jd
dks€t‚dS) Nršr«ér)ÚtitleÚcruftr¾rr¿)r-r¾)r-r¿)rArr rr]r)r$rTr<Úixr*r*r+Útest_setitem_corner2Õs
þz*TestDataFrameIndexing.test_setitem_corner2cCs´ttdƒtdƒd}tdd„tdƒDƒtdƒd}tdddgtdƒd}t d¡|d    <t|jƒdksht‚||d
<t|jƒdks‚t‚||d <t|jƒdksœt‚|d jtj    ks°t‚dS) Nr1rgcSsg|] }tdƒ‘qS)r-r)rcr'r*r*r+Ú
<listcomp>ész<TestDataFrameIndexing.test_setitem_ambig.<locals>.<listcomp>rwrLÚbzrÚbazrr-r0)
r rSrrAÚonesrr6rr/r )r$r»Zcoercable_seriesZuncoercable_seriesr*r*r+Útest_setitem_ambigäsz(TestDataFrameIndexing.test_setitem_ambigcCst|d|d<tj|jdd…df|dddtj|jdd…df|dddtj|d|dddt|ƒdS)NrNr`FrP)r rQr‡r]Úreprr°r*r*r+Útest_setitem_Noneös ÿÿz'TestDataFrameIndexing.test_setitem_NonecCsPtdddgdddgddd    gd
œƒ}| ¡}|j|j|j ¡d f<t ||¡dS) NrYrZr¹Z11Z22Z33Z111Z222Z333)rµr¶rdrµ)r r@rµr]r¶rr r9©r$r<r=r*r*r+Ú&test_loc_setitem_boolean_mask_allfalses ÿz<TestDataFrameIndexing.test_loc_setitem_boolean_mask_allfalsecCsVttj dd¡ƒ}|jddd…}tj|jddd…<t|jddd…ƒj ¡sRt    ‚dS)NrJr3ér0)
r rArrBr‡rbrrFr›rrÉr*r*r+Ú&test_getitem_fancy_slice_integers_step sz<TestDataFrameIndexing.test_getitem_fancy_slice_integers_stepc    CsFttj dd¡tdddƒd}| ¡}d|jdd…<|jdd…dkj ¡sPt    ‚| ¡}d|jdd    …<|jdd    …dkj ¡s‚t    ‚|jdd
…}|j
dd    …}|  dd
d dg¡}t   ||¡t   ||¡|jttdƒƒttddƒƒddd …}tjtd d|j
dd    …W5QRXtjtd dd|j
dd    …<W5QRXdS)NrJr3rrr0rwr2r1r‹r4rËr`z^3$r)r rArrBrSr@r‡rFr›rr]rlr r9Úlistr!r"r#)r$r<Úcpr=Úresult2r>Údf2r*r*r+Ú,test_getitem_setitem_integer_slice_keyerrorss"  *zBTestDataFrameIndexing.test_getitem_setitem_integer_slice_keyerrorscCs¸|jdd…dd…f}|djtjks*t‚| ¡}|jdd…dd…f}t |dj|dj¡sdt‚d|jdd…df<|s¨|ddk     ¡sŽt‚t |dj|dj¡n t
  ||¡dS)Néýÿÿÿrvruç@r2) r‡r/rArtrr@Ú shares_memoryÚ_valuesr]r›r r9)r$r%Úfloat_string_framer¡ZslicedÚoriginalr*r*r+Útest_fancy_getitem_slice_mixed/sz4TestDataFrameIndexing.test_fancy_getitem_slice_mixedcCs²t ¡}|jddg\}}|j||…}|||…}|dd…}t ||¡t ||¡| ¡}d|j||…<| ¡}d|||…<| ¡}d|dd…<t ||¡t ||¡dS)Nr3rJr‹r)r ZmakeTimeDataFramerr]r9r@)r$r<ÚstartÚendr=rÏr>r*r*r+Ú"test_getitem_setitem_non_ix_labelsFs       z8TestDataFrameIndexing.test_getitem_setitem_non_ix_labelscCsttj dd¡ƒ}|j|jdkdd…f}| dg¡}t ||¡ttj dd¡ƒ}|j|jdk|j    dkf}|jdgdgd}t ||¡dS)Nr1r0rr-rg)
r rArrBr]rrlr r9r6)r$r<ÚrsZxpr*r*r+Útest_ix_multi_takeZs  z(TestDataFrameIndexing.test_ix_multi_takecCsP|}|j}|jD]:}||}|jddd…D]}|||f||ks,t‚q,qdS©Nr3)r]r6rr)r$r%ÚfrÀÚcolÚtsr;r*r*r+Útest_getitem_fancy_scalarfs 
z/TestDataFrameIndexing.test_getitem_fancy_scalarc Cs„|}| ¡}|j}t|jƒD]b\}}||}|jddd…D]@}|j |¡}    tj ¡}
|
|j    |    |f<|
|||f<t
  ||¡q<qdSrÞ) r@r]Ú    enumerater6rZget_locrArrBr‡r r9) r$r%rßr>rÀÚjràrár;ÚiÚvalr*r*r+Útest_setitem_fancy_scalarps 
 z/TestDataFrameIndexing.test_setitem_fancy_scalarcCs|}|j}|jddgd}|dd…ddddgf}t ||¡|j|jdd…ddgd}||jdd…ddddgf}t ||¡|j|jd    k}|j|j|d
}||}t ||¡||dd…f}t ||¡|||jd d…f}|j|j|d dgd}t ||¡dS) NrOrvr5FTr3rJrgérwr0ru)r]rlr r9rr6)r$r%rßrÀr>r=Zboolvecr*r*r+Útest_getitem_fancy_booleans"    z0TestDataFrameIndexing.test_getitem_fancy_booleancCs¸| ¡}| ¡}|j ¡}|ddk}d|j|<d||j<t||j|jd}t ||¡| ¡}| ¡}|j ¡}d|j|ddgf<d||jdd…f<t||j|jd}t ||¡dS)NrNrçrgrOr0)r@rFr]r rr6r r9)r$r%Úframer>rFr¨r*r*r+Útest_setitem_fancy_boolean˜s
 
 
 
z0TestDataFrameIndexing.test_setitem_fancy_booleancCsx|jdddg}|j|jdddg}t ||¡|jdd…dddgf}|jdd…|jdddgf}t ||¡dS)Nr-r2rèr0r)r‡r]rr r9r6)r$r%r=r>r*r*r+Útest_getitem_fancy_ints­s  z-TestDataFrameIndexing.test_getitem_fancy_intscCst|dddd…dk}|j|}|j|ddd…}t ||¡| ¡}| ¡}d|j|<d|j|<t ||¡dS)NrNr`r-r)r]r r9r@)r$r%r¨r=r>rÎr*r*r+Ú'test_getitem_setitem_boolean_misaligned¶s
 
 
z=TestDataFrameIndexing.test_getitem_setitem_boolean_misalignedcCs®ttj dd¡ƒ}t dddg¡}t ddg¡}|j||f}|jddgdgf}t ||¡| ¡}d|jt dddg¡t ddg¡f<d|jddgdgf<t ||¡dS)Nr1r0TFrr-r3)    r rArrBrƒr]r r9r@)r$r<Zk1Zk2r=r>r*r*r+Ú"test_getitem_setitem_boolean_multiÄs $z8TestDataFrameIndexing.test_getitem_setitem_boolean_multic    CsÎtdddddgƒ}ttj dd¡|d}|jdd…}| ddddg¡}t ||¡t    |ƒdksdt
‚|jdd…}| ddg¡}tj||ddt    |ƒdks t
‚|jdd…}| d    d
g¡}t ||¡t    |ƒdksØt
‚|jd d…}|j d d…}t ||¡d |jd d…<|d d…}|d k  ¡  ¡s0t
‚td dddd
gƒ}ttj dd¡|d}d}t jt|d|j d d…W5QRX|j dd…}| d
g¡}t ||¡t    |ƒd ks¼t
‚| ¡}t jttdd |j d d…<W5QRXt jt|d|j d d…d k}W5QRX|j  ¡s(t
‚|j d d …|j d d …kj  ¡sPt
‚| ¡}d |j dd…<|j dd…d kj  ¡s„t
‚|j d d…|j d d…kj  ¡s¬t
‚|jd d…}|}t ||¡t    |ƒdksÜt
‚|jdd…}| dddd
g¡}t ||¡t    |ƒdkst
‚|jdd…}| d
g¡}t ||¡t    |ƒd ksRt
‚|jd d
…}| d dddd
g¡}t ||¡t    |ƒdks’t
‚| ¡}d |jd d
…<|jd d
…}|d kj  ¡sÊt
‚dS)Nr‰r0r1r2r3rwF)Zcheck_index_typerÓr¸r-rr²r¬g @rŠzPcannot do positional indexing on Index with these indexers \[1.0\] of type floatrgš™™™™™ñ?g
×£p=
@)rr rArrBr]rlr r9rrr‡r›r!r"r¦r@Ú
_slice_msgrF)r$Úusing_array_managerrr<r=r>rUrÎr*r*r+Ú!test_getitem_setitem_float_labelsÓsz    ÿ  ((     z7TestDataFrameIndexing.test_getitem_setitem_float_labelscCs
ttj dd¡dddddgdd    d
gd }td ƒ|d <|j}tt d¡gdt d¡gdd    d
d gd}t     ||¡t
|j d<t |j dƒrŽt ‚|d jtjks¢t ‚|j dt
ks´t ‚tj|j d<t |j dƒsÒt ‚tj|j ddd…f<t |j ddd…fƒ ¡rt ‚dS)Nr3r1rµr¶rdrnÚerLr«rÄrgZ20010102Ú    timestamprtúdatetime64[ns]rw)r¶rô)rdrô)r rArrBrrxrr/r rQrr]rrr rbr›r^r*r*r+Ú)test_setitem_single_column_mixed_datetime*s(  ý 
þ 
 z?TestDataFrameIndexing.test_setitem_single_column_mixed_datetimec CsÔtddddddgtdddƒdddtdddƒtd    ddƒgd
œƒ}tdtd ƒtd ƒd }tj|d<tdddƒ|jd<d|jd<d|jddgdf<t dt     d¡gdt     d¡gg¡}||jddgddgf<t
  ||¡dS)Nré éiÜr-ÚxÚyiÝiÞ©rµr¶Úabr4rr¶©rr¶)r-r¶©rùrúr0r1z2013-01-01T00:00:00z2014-01-01T00:00:00r2r3rµ) r rrÍrSÚpdÚNaTr]rArƒÚ
datetime64r r9)r$r>r<rNr*r*r+Útest_setitem_mixed_datetimeIs.
 
 
úþÿ 
 
  þÿz1TestDataFrameIndexing.test_setitem_mixed_datetimecCsn|j|jdd…ddgf}|j|j|jdd…ddgf<|j|jdd…ddgfj}|j}t ||¡dS©Nr0rNrOéþÿÿÿ)r]rrFr r~©r$r%Úpiecer=r>r*r*r+Útest_setitem_frame_floatfs
z.TestDataFrameIndexing.test_setitem_frame_floatcCs~| ¡}tddgddgg|jdd…ddgd    }|jtddƒddgf}||j|<t |j|jdd…ddgfj|j¡dS)
Nr²r³r´rÓrr0rNrOrg)r@r rÚslicer]r r~rF©r$rÖrßrr)r*r*r+Útest_setitem_frame_mixedms ÿ
z.TestDataFrameIndexing.test_setitem_frame_mixedcCsž| ¡}tddgddgddgddggt|jd    d
…ƒd d gd dgd}|jtdd
ƒd dgf}||j|<t |j|jd    d
…d dgfj|jd    d
…¡dS)Nr²r³r´rÓr¸g@g@g @rr0rLr«rNrOrg)    r@r rÍrrr]r r~rFr    r*r*r+Ú'test_setitem_frame_mixed_rows_unalignedysý
 ÿz=TestDataFrameIndexing.test_setitem_frame_mixed_rows_unalignedcCsŠ| ¡}|j|jdd…dgf}|jdd…|_|jtddƒddgf}||j|<tj|d<t |j|jdd…ddgfj|j¡dS)Nr0rNrrO)    r@r]rrrArbr r~rFr    r*r*r+Ú&test_setitem_frame_mixed_key_unaligned‡s
 
z<TestDataFrameIndexing.test_setitem_frame_mixed_key_unalignedcCst| ¡}|j|jdd…ddgf}|jtddƒddgf}|j|j|<t |j|jdd…ddgfj|j¡dSr)r@r]rrrFr r~r    r*r*r+Ú test_setitem_frame_mixed_ndarray‘s
 z6TestDataFrameIndexing.test_setitem_frame_mixed_ndarraycCsŠtdddgdddggddd    gd
}| ¡}|jdd…ddgfd |jdd…ddgf<|jddgd
}|d 7}|d    |d    <t ||¡dS) Nr-r0rLr1r2r«rNrOrur5çà?)r r@r]rlr r9)r$r<rÐr>r*r*r+Útest_setitem_frame_upcast™s", z/TestDataFrameIndexing.test_setitem_frame_upcastcCs†|j|jdd…ddgf}|jdd…|_ddg|_||j|jdd…ddgf<|j|jdd…ddgfj}|j}t ||¡dSr)r]rr6rFr r~rr*r*r+Útest_setitem_frame_align£s
z.TestDataFrameIndexing.test_setitem_frame_aligncCsŠttj dd¡dddddgd}|jd}|dd…}t ||¡|jd}|jddg}t ||¡|jd}|jd}t ||¡dS)    Nr3r1rLr«rÄrwr0r2)    r rArrBr]r r9r‡rQr^r*r*r+Ú"test_getitem_setitem_ix_duplicates¬s 
 
 
 
z8TestDataFrameIndexing.test_getitem_setitem_ix_duplicatescCs¦ttj dd¡dddddgd}|jdg}|jddg}t ||¡|j|d    d
k}||d    d
k}t ||¡|j|d
d
k}||d
d
k}t ||¡dS) Nr3r1rLr«rÄrwr0r2r-r)r rArrBr]r‡r r9)r$r<r=r¢r*r*r+Ú+test_getitem_ix_boolean_duplicates_multiple¼s    zATestDataFrameIndexing.test_getitem_ix_boolean_duplicates_multipleÚ
bool_valuec    Csltddddgiƒ}|›d}tjt|d|j|W5QRXd}tjt|dd|j|<W5QRXdS)    Nrµr-r0r1z7: boolean label can not be used without a boolean indexrz.cannot use a single bool to index into setitemr)r r!r"r#r])r$rr<ÚmessagerUr*r*r+Ú%test_getitem_setitem_ix_bool_keyerrorÌs
z;TestDataFrameIndexing.test_getitem_setitem_ix_bool_keyerrorcCs¢d|d<t|djjttjfƒs$t‚|j|jddf}t    |ƒsDt‚t
ddgiƒ}d|d<|jd}t    |ƒspt‚t dgd    gdd
}|jd    gdf}t   ||¡dS) Nr-rMr3rµg®Gáz®ó?išr¶rýrr[)r­r/r®ÚintrAr¯rr]rr r rr rQ)r$r%r=r<r>r*r*r+Ú"test_single_element_ix_dont_upcastÙs 
 z8TestDataFrameIndexing.test_single_element_ix_dont_upcastcCsÂttj dd¡tdddƒd}|jd}|jd}t ||¡|jd}|jd}t ||¡|jt    ddƒ}|jdd    …}t 
||¡|jdddd
g}|  |j dddd
g¡}t 
||¡dS) NrJr2rrr0rwr-rËrør4) r rArrBrSr‡r]r rQrr9rlr©r$r<r=r¢r>r*r*r+Ú test_iloc_rowës
 
 
 
  z#TestDataFrameIndexing.test_iloc_rowcCs¼ttj dd¡tdddƒd}| ¡}|jtddƒ}t |d|d¡sNt    ‚|d ¡}d|j
dd…df<|s¨d|j
dd…df<d|j dd…<t |d|d¡s¨t    ‚t   |d|¡dS)    NrJr2rrr0rwrËrê)r rArrBrSr@r‡rrÔrr]rÕr rQ)r$r¡Úrequestr<r×ÚsubsetZexp_colr*r*r+Útest_iloc_row_slice_views z.TestDataFrameIndexing.test_iloc_row_slice_viewcCsüttj dd¡tdddƒd}|jdd…df}|jdd…df}t ||¡|jdd…df}|jdd…df}t ||¡|jdd…t    ddƒf}|jdd…dd    …f}t 
||¡|jdd…dddd
gf}|j |j dddd
gd}t 
||¡dS) Nr2rJrrr0r5r-rËrør4) r rArrBrSr‡r]r rQrr9rlr6rr*r*r+Ú test_iloc_cols   z#TestDataFrameIndexing.test_iloc_colcCsòttj dd¡tdddƒd}| ¡}|jdd…tddƒf}|s¦|s¦t |dj    |dj    ¡sbt
‚d|j dd…df<|ddk  ¡sˆt
‚t |dj    |dj    ¡sît
‚nH|rÆt |dj    |dj    ¡sÆt
‚d|d<|ddk  ¡sât
‚t  ||¡dS)    Nr2rJrrr0r5rËrê)r rArrBrSr@r‡rrÔrÕrr]r›r r9)r$rñr¡r<r×rr*r*r+Útest_iloc_col_slice_view)sz.TestDataFrameIndexing.test_iloc_col_slice_viewcCsättddddtddddd}|jdtddddd}td|dd    gd
}t d d d d d d g¡}d |j||df<tddddd d gddddddgdœ|d}t ||¡td|dd    gd
}|j||dfd 7<t ||¡dS)Niár-)ÚyearÚmonthÚdayr3)rÙrÚ)r]ÚitemrrNrOrgFTr4)rNrOrw)    rrÚinsertr rArƒr]r r9)r$Ztranger<Zbool_idxr>r*r*r+Útest_loc_duplicatesBs   þ ÿ z)TestDataFrameIndexing.test_loc_duplicatescCs‚ttdddddd}td|iƒ}|ddd    g|d<t |d|¡td|iƒ}|ddd    g|jddd    gdf<t |d|¡dS)
Nz
2015-01-01r1Úutc)ÚperiodsÚtzÚdatesr[r-rr0)rrr r rQr])r$Úcolumnr<r*r*r+Ú4test_setitem_with_unaligned_tz_aware_datetime_column]s  zJTestDataFrameIndexing.test_setitem_with_unaligned_tz_aware_datetime_columncCs†tdd}ttdddd}tjd|gddd|d    <tjd
|gddd|jdd…d f<tjd |gd dd|j|jdd …d f<tjd|gddd|jdd…df<tjd|gd dd|j|jdd …df<t d¡|d<tjd|gd dd|j|jdd…df<tdd d|j|jdd…df<t d¡|d<|j    }t
t  d¡gdt  d¡gd
t dƒd}t  ||¡dS)Nr-)ÚhoursZ20130101r2©r&rwúm8[ns]r.rNr0rOr1rurvr3rMrrrr4r`rÒÚGÚHztimedelta64[ns]rõZABCDEFGH)rr rrArƒr]rZ timedelta64rrxrr/rÍr rQ)r$Zone_hourr<r=r>r*r*r+Ú,test_loc_setitem_datetimelike_with_inferencejs"
&,&,, þzBTestDataFrameIndexing.test_loc_setitem_datetimelike_with_inferencec Cs ttjtjtjtjtjdœtjdtjdddœtjtjdtjtjdœtjtjtjtjtjdœdtjtjtjtjdœddddddœdœƒ}| ¡}d||d    k<| ¡}d|jd
<d|jd <d|jd <d|jd <t ||¡d|d<d}tjt    |dd||d    k<W5QRXdS)N)é#rŽré1é2gj”B’zâÔ?g% tŽÙ?gÂ’Øk‘Ò?gІøãÖåÕ?rr-)rr-r0r1r2rúg333333Ó?)rŽr-)r2r-)r3r-)r1r2ÚtestrLz1not supported between instances|unorderable typesr)
r rArbr@r]r r9r!r"r¦)r$r<rÐr>rUr*r*r+Ú#test_getitem_boolean_indexing_mixed€sHûûûèÿ 
 
 
 
 z9TestDataFrameIndexing.test_getitem_boolean_indexing_mixedc    Cs.tjddgddggddgd}tddddgddd    d    gg|tddgd
d d }tjtd d|dd…dfW5QRXttdƒd
d }tddgddggddgddggddgd}tddgdd    gg||d }|jdd…t    dƒdff}t
  ||¡d}ttdƒd
d }t ddg||d}|d}t
  ||¡dS)Nrùrúrr-rd©Únamesr0r1r2rår[rrr)ÚlevelsÚcodesr7)rùrrŸ)rÚ from_productr rr!r"rrSr]rr r9rrQ)r$ÚmiZdgrr6r>r=rWr*r*r+Útest_type_error_multiindex®s,ÿÿ z0TestDataFrameIndexing.test_type_error_multiindexcCshtt d¡tj t d¡¡d}|jdd…df}|d}t     ||¡|j
dd…df}t     ||¡dS)N©r1r2r3r5rr) r rArÅrÿZ IntervalIndexZ from_breaksr|r‡r rQr])r$r<r>rHr*r*r+Ú,test_getitem_interval_index_partial_indexingÇsÿ zBTestDataFrameIndexing.test_getitem_interval_index_partial_indexingcCsZtddgtd}t d¡t d¡dœ|jd<tt d¡gt d¡gdœƒ}t ||¡dS)Nrµr¶)r6r/)r0)r0r0rûr)r rirAÚzerosr]r r9r¤r*r*r+Ú test_setitem_array_as_cell_valueÕsz6TestDataFrameIndexing.test_setitem_array_as_cell_valuecCs´tddddgidd}| ¡}|jdd…ddd…f|jdd…<t ||¡tjj     |jdd…ddd…f¡|jdd…<t ||¡|j
dd…dd…f|j
dd…<t ||¡dS)NrNr-r0r1ÚInt64r.r`) r r@rFr]r r9rÿÚcoreZarraysZ PandasArrayr‡)r$r<Úorigr*r*r+Ú$test_iloc_setitem_nullable_2d_valuesÜs" ,  z:TestDataFrameIndexing.test_iloc_setitem_nullable_2d_valuescCs2ttjdtdƒ}t |d¡|d<|dgdS)N©r-r-r.r)r rAr‚riZ
empty_likerœr*r*r+Ú,test_getitem_segfault_with_empty_like_objectészBTestDataFrameIndexing.test_getitem_segfault_with_empty_like_objectÚnullúM8[ns]r-c    CsÞtddddgi|d}|d}|j}d ddd    d
g¡}tjt|d ||d <W5QRXtjt|d ||g|dd…<W5QRXtjt|d ||d <W5QRXtjt|d ||g|dd…<W5QRXtjt|d ||jd <W5QRXtjt|d ||g|jdd…<W5QRXtjt|d ||jd <W5QRXtjt|d ||g|jdd…d f<W5QRX| ¡}| ¡|d<tjt|d ||jd <W5QRXtjt|d ||g|jdd…d f<W5QRXdS)NrNr-r0r1r.ú|z@timedelta64\[ns\] cannot be converted to (Floating|Integer)Dtypez?datetime64\[ns\] cannot be converted to (Floating|Integer)Dtypez 'values' contains non-numeric NAz1Invalid value '.*' for dtype (U?Int|Float)\d{1,2}rr©rrrO)r rÕÚjoinr!r"r¦r‡r@)r$rGZany_numeric_ea_dtyper<ÚserrrUrÐr*r*r+Ú.test_setting_mismatched_na_into_nullable_failsðs@üÿ  zDTestDataFrameIndexing.test_setting_mismatched_na_into_nullable_failscCsLtdgtgddd}d|jd<tddgitdgddd}t ||¡dS)Nr¶rµr[rr-rrw)r rr]r r9r¤r*r*r+Ú+test_loc_expand_empty_frame_keep_index_name$s
zATestDataFrameIndexing.test_loc_expand_empty_frame_keep_index_namecCs\tdgtjgdddgdd}d|jd<tddgitjdgdddgdd    }t ||¡dS)
Nrnrµr¶rdr6rrL)r-r0r1rw©r rÚ from_tuplesr]r r9r¤r*r*r+Ú+test_loc_expand_empty_frame_keep_midx_names+sÿ
þzATestDataFrameIndexing.test_loc_expand_empty_frame_keep_midx_namesrærùr-Úidxrrµc    Csntdddgiƒ}t d¡,td|dgiddgd|jdd…|f<W5QRXtdtj|giƒ}t ||¡dS)Nrµr-r0r‹rw)r r rjr]rArbr9)r$rRrær<r>r*r*r+Útest_loc_setitem_rhs_frame7s
 0z0TestDataFrameIndexing.test_loc_setitem_rhs_framec    Csjtddgd}| ¡}|dd…}t d¡(tjddgtjd|jdd…df<W5QRXt ||¡dS)Nrµr¶r5r-r0r.r)    r r@r rjrArƒrtr‡r9)r$r<r>Úviewr*r*r+Ú$test_iloc_setitem_enlarge_no_warningAs   ,z:TestDataFrameIndexing.test_iloc_setitem_enlarge_no_warningcCs¾tddddœtjddgddggddgdd    }d
g}d |d <d |j|d f<|j|d f|j|ddgfd|j|d f<|j|d f}tdtjdgdggddgdd d}}t ||¡dS)NTr-r¬)Zbool_colrµr¶r0Úidx1Úidx2r6rwrEr1rdrrµr¶ržrŸ)r rÚ from_arraysr]rr rQ)r$r<r;r=r>r*r*r+Ú(test_loc_internals_not_updated_correctlyKs"
þý
z>TestDataFrameIndexing.test_loc_internals_not_updated_correctlyNcCsRtddddgidd}||jdgdd…f<tdtjddgidd}t ||¡dS©Nrµr¶rdÚstringr.r©r r‡rÿÚNAr r9©r$rær<r>r*r*r+Ú test_iloc_setitem_string_list_nabsz6TestDataFrameIndexing.test_iloc_setitem_string_list_nacCsPtddddgidd}||jddd…f<tdtjddgidd}t ||¡dSrZr\r^r*r*r+Útest_iloc_setitem_string_najsz1TestDataFrameIndexing.test_iloc_setitem_string_naÚfunccCsTtddddgidd}d|jdd…|dgƒf<tddddgidd}t ||¡dS)    Nrµr-r0r1rAr.r3rr–)r$rar<r>r*r*r+Ú/test_iloc_setitem_ea_null_slice_length_one_listrszETestDataFrameIndexing.test_iloc_setitem_ea_null_slice_length_one_listcCs‚ttjddgdddggddgdd    }td
|jjƒ}|dddgd }|j|dd…f}ttjd d gddgdd    }t     ||¡dS)NrNrOrµr¶rdÚfirstÚsecondr6rwZIndexer)rcrd)rNrµ)rNr¶)
r rr:rrr7r]rPr r9)r$r<Z indexer_tuplerRr=r>r*r*r+Útest_loc_named_tuple_for_midxzs ÿÿÿÿz3TestDataFrameIndexing.test_loc_named_tuple_for_midxroràr¶cCshtdtdƒtdƒgi|–ƒ}|dtjdd|jdg|f<tdtdƒtdƒgi|–ƒ}t ||¡dS)Nrµz
2022-12-29z
2022-12-30r-)Údaysz
2022-12-31)r rrÿÚ    Timedeltar]r r9)r$ràror<r>r*r*r+Útest_set_2d_casting_date_to_int‹sÿ ÿz5TestDataFrameIndexing.test_set_2d_casting_date_to_intrWcCsVd}t|t|ƒt|ƒdœ–ƒ}| ¡}|ddg|j|dgddgf<t ||¡dS)Nr½rþrùrúT)r rSr@r]r r9)r$ràÚnr<r>r*r*r+Ú1test_loc_setitem_reordering_with_all_true_indexer˜s
 zGTestDataFrameIndexing.test_loc_setitem_reordering_with_all_true_indexerc    CsZtddgd}| ¡}tdgd}t d¡||jdd…df<W5QRXt ||¡dS)Nrµr¶r5)r r@r rjr]r9)r$r<r>Úrhsr*r*r+Útest_loc_rhs_empty_warning¡s   z0TestDataFrameIndexing.test_loc_rhs_empty_warningcCsŽtdddddgdddd    d
ggƒ}tddgd d }tdgd d }|j||f}tddggdgd }t ||¡|j|j|jf}t ||¡dS)Nrr-r0r1r2r3r4rèrËé    rAr.rw)r rr‡r r9rF)r$r<roZ row_indexerr=r>r*r*r+Útest_iloc_ea_series_indexerªs  z1TestDataFrameIndexing.test_iloc_ea_series_indexerc    Cs”tdddddgdddd    d
ggƒ}tdtjgd d }d }tjt|d|jdd…|fW5QRXtjt|d|jdd…|jfW5QRXdS)Nrr-r0r1r2r3r4rèrËrmrAr.zcannot convertr)    r rrÿr]r!r"rRr‡rF)r$r<rorUr*r*r+Ú#test_iloc_ea_series_indexer_with_na¶s z9TestDataFrameIndexing.test_iloc_ea_series_indexer_with_na)Tr/Úbooleanc    Cs¨tjtddddg|dtddddg|dgddgd}tddd    d
d gi|d }t tt|tƒ¡|j    |}W5QRXtddd    git
ddgd|d d }t  ||¡dS)NTFr.rµr¶r6rdr-r0r1r2rw)rWr/) rrXrr r Zmaybe_produces_warningr    Ú
isinstanceÚtupler]rr9)r$r/roZmidxr<r=r>r*r*r+Útest_loc_bool_multiindexÀsþû
ÿz.TestDataFrameIndexing.test_loc_bool_multiindexr%r·cCsltttdddƒtdddƒg|dddgdœƒ}|jdd    }||d
}|d |j|d
|f<t ||¡dS) Niær-rr)r%TF)r·Úupdate)Údeeprtr·)r rrr@r]r r9)r$r%ror<r>Z    update_dfr*r*r+Ú2test_loc_datetime_assignment_dtype_does_not_changeÓsÿüÿ  zHTestDataFrameIndexing.test_loc_datetime_assignment_dtype_does_not_changez indexer, idxr0cCsˆtdtjgdtjgdtjggtd}tdtjgdtjggƒ}|||ƒd|…dd…f<tdtjgdtjgdtjggtd}t ||¡dS)NrYrZr¹r.r-r0)r rArbrir r9)r$ror;r<rkr>r*r*r+Ú"test_setitem_value_coercing_dtypesçs
$$z8TestDataFrameIndexing.test_setitem_value_coercing_dtypes)eÚ__name__Ú
__module__Ú __qualname__r,r?rIrKrVr_rpryr!ÚmarkÚ parametrizer}r€r†rˆr—r™rr£r¥r©r±r¼rÁrÆrÈrÊrÌrÑÚtdZskip_array_manager_invalid_testrØrÛrÝrârçrérìrírîrïròrörrr
r r r rrrrrrrrrrr$r*r0r5r<r>r@rDrFrÿrZto_numpyrMrNrQrSrUrYr]r_r`rÍrrArƒrbrerhrjrlrnror„rsrvr r]r‡rwr*r*r*r+r*sÖ         ;"ÿ
 
 
 . 4* 
 
 
 
 
    W 
 
    
 . ÿ
1  
    
 
 
 
     
  rc@seZdZdd„ZdS)ÚTestDataFrameIndexingUInt64c    Csú|}|d d¡}d|jks t‚||d<t |dt|dd¡d|jksNt‚d|d<||d<t |dt|dd¡|d=| ¡}tj|j    d<tj|j    d<|d}t t
|ƒtd    d
d    gdd¡t |j tt   d ¡t   d ¡t   d ¡gdddgd ¡dS)NrNrLrur[rvrE©r-r0rOTFZuint64ÚOrw)Úrenamer6rr rQrr@rÿrr‡rrxrAr/)r$Z uint64_framer<r;rÐr=r*r*r+r£òs,  þþz(TestDataFrameIndexingUInt64.test_setitemN)rxryrzr£r*r*r*r+r~ñsr~cCsŠtddgtdddtjddddœƒ}|jd}t|jdtƒsDt‚t|jdtj    ƒsZt‚|j
d}t|jdtƒsxt‚t|jdtj    ƒsŽt‚|j ddd}t|jdtƒs°t‚t|jdtj    ƒsÆt‚|rÎdS|j }|  ¡| d¡j}t|dtƒsút‚t|dtj    ƒst‚|j|jd}|jd    ks0t‚| d
¡}t|tƒsJt‚|j|jd}|jd ksjt‚| d
¡}t|tj    ƒs†t‚dS) Nr-r0Ú2000r,z1 Day)rNrOrur)ZaxisrHrJr-)r rrÿZtimedelta_ranger]rqrFrrrgr‡ÚxsZ_mgrZ_rebuild_blknos_and_blklocsZfast_xsrƒÚblocksZblknosr/Úiget)rñr<rLZmgrrZblkrær*r*r+Ú/test_object_casting_indexing_wraps_datetimelikes<
 ýÿ
 
 
 
r†zFCannot setitem on a Categorical with a new category( \(.*\))?, set thezCCannot set a Categorical with another, without identical categoriesc@s8eZdZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejd    d
„ƒZ    ej
  d e j e jg¡d d „ƒZej
  d e j e je je jg¡dd„ƒZej
  d e j e jg¡dd„ƒZej
  d e j e jg¡dd„ƒZej
  d e j e jg¡dd„ƒZej
  d e j e jg¡dd„ƒZej
  d e je j e jg¡dd„ƒZdd„ZdS)ÚTestLocILocDataFrameCategoricalcCs\tdddddddgddgd}tdddddd    d
gƒ}d d d d d d d g}t||d œ|d }|S©Nrµr¶©Ú
categoriesÚhrårär…ÚlÚmrir-©ÚcatsrFrw©r rr )r$rr;rFrCr*r*r+rCAs
z$TestLocILocDataFrameCategorical.origcCs\tdddddddgddgd}tdddddd    d
gƒ}d d d d d d d g}t||d œ|d}|S©Nrµr¶r‰r‹rårär…rŒrrir-r0rŽrwr)r$Zcats1rVZvalues1Úexp_single_rowr*r*r+r’Is
z.TestLocILocDataFrameCategorical.exp_single_rowcCs\tdddddddgddgd}tdddddd    d
gƒ}d d d d d d d g}t||d œ|d}|Sr‘r)r$Zcats2rWZvalues2Ú exp_multi_rowr*r*r+r“Rs
z-TestLocILocDataFrameCategorical.exp_multi_rowcCs\tdddddddgddgd}tdddddd    d
gƒ}d d d d d d d g}t||d œ|d }|Srˆr)r$Zcats3Zidx3Zvalues3Úexp_parts_cats_colr*r*r+r”\s
z2TestLocILocDataFrameCategorical.exp_parts_cats_colcCs\tdddddddgddgd}tdddddd    d
gƒ}d d d d d d d g}t||d œ|d }|Srˆr)r$Zcats4Zidx4Zvalues4Úexp_single_cats_valuer*r*r+r•esÿz5TestLocILocDataFrameCategorical.exp_single_cats_valueroc    Cs˜| ¡}tddƒ}|tjkr&tddƒ}ddgddgg||ƒ|dd…f<t ||¡| ¡}tjttd&ddgddgg||ƒ|dd…f<W5QRXdS)Nr0r2rär…r¶rrd)    r@rr r]r9r!r"r¦Úmsg1)r$rCr“ror<r)r*r*r+Ú#test_loc_iloc_setitem_list_of_listsps
 
 
  zCTestLocILocDataFrameCategorical.test_loc_iloc_setitem_list_of_listsc    Csr| ¡}d}|tjtjfkr0|jd|jdf}d||ƒ|<t ||¡tjt    t
dd||ƒ|<W5QRXdS)N)r0rr0rr¶rrd) r@r r]Úatrr6r9r!r"r¦r–)r$rCr•ror<r)r*r*r+Ú7test_loc_iloc_at_iat_setitem_single_value_in_categories€s  zWTestLocILocDataFrameCategorical.test_loc_iloc_at_iat_setitem_single_value_in_categoriescCsJ| ¡}|jdk}d}|tjkr*|j|}d||ƒ||f<t ||¡dS)Nrärr¶)r@rr r]r6r9)r$rCr•ror<r¨r)r*r*r+Ú5test_loc_iloc_setitem_mask_single_value_in_categories“s
 
 
zUTestLocILocDataFrameCategorical.test_loc_iloc_setitem_mask_single_value_in_categoriesc    Csz| ¡}d}|tjkr |jd}ddg||ƒ|dd…f<t ||¡tjttdddg||ƒ|dd…f<W5QRXdS)Nr0r¶rrd)    r@r r]rr9r!r"r¦r–)r$rCr’ror<r)r*r*r+Ú2test_loc_iloc_setitem_full_row_non_categorical_rhs¢s
 
 zRTestLocILocDataFrameCategorical.test_loc_iloc_setitem_full_row_non_categorical_rhsc        CsØ| ¡}tddƒdf}|tjkr4tddƒ|jdf}tddgddgd}|||ƒ|<t ||¡ttd    ƒtd
ƒd}tj    t
t d |||ƒ|<W5QRXttd ƒtd
ƒd}tj    t
t d |||ƒ|<W5QRXdS) Nr0r2rrär…r¶rµr‰ZbbÚabcrÚcc) r@rr r]r6r r9rÍr!r"r¦Úmsg2)    r$rCr”ror<r)ÚcompatZ semi_compatZincompatr*r*r+Ú1test_loc_iloc_setitem_partial_col_categorical_rhsµs
  zQTestLocILocDataFrameCategorical.test_loc_iloc_setitem_partial_col_categorical_rhsc    Cs~| ¡}tddƒdf}|tjkr4tddƒ|jdf}ddg||ƒ|<t ||¡tjtt    dddg||ƒ|<W5QRXdS)    Nr0r2rrär…r¶rrd)
r@rr r]r6r9r!r"r¦r–)r$rCr”ror<r)r*r*r+Ú)test_loc_iloc_setitem_non_categorical_rhsÓs
 zITestLocILocDataFrameCategorical.test_loc_iloc_setitem_non_categorical_rhscCsxtddd t¡}tddddgi|d}|jjtks8t‚|tjkrP||ƒd}n||ƒdd…df}|jjtkstt‚dS)NZ2012r1r,rr-r0rw)    rrhrir rr/rr Úgetitem)r$ror;r<rLr*r*r+Ú-test_getitem_preserve_object_index_with_datesæs
zMTestLocILocDataFrameCategorical.test_getitem_preserve_object_index_with_datescCs\tdgdggtjddgdgdd}tdggtjdgdgdd}|jd}t ||¡dS)    Nrr-)rµ)r¶rcr6)rTrrµrO)r$r<r>r=r*r*r+Ú test_loc_on_multiindex_one_levelõs
þÿ
z@TestLocILocDataFrameCategorical.test_loc_on_multiindex_one_levelN)rxryrzr!ZfixturerCr’r“r”r•r{r|r r]r‡r—r˜Ziatr™ršr›r r¡r¢r£r¤r*r*r*r+r‡@s2
 
 
    
 
 
 
 
 
 
 
 
 
r‡c @s,eZdZej ddhddidhdfddidfddhfdddifg¡dd„ƒZej ddhddidhdfdfddidfdfddhfdddifg¡dd    „ƒZej ddhddidhdfddidfddhfdddifg¡d
d „ƒZej ddhddidhdfdfddidfdfddhfdddifg¡d d „ƒZ    dS)ÚTestDeprecatedIndexersr)r-rµc    CsDtddgddggddgd}tjtdd    |j|W5QRXdS©
Nr-r0r1r2rµr¶r5úas an indexer is not supportedr©r r!r"r¦r]©r$r)r<r*r*r+Ú$test_getitem_dict_and_set_deprecatedsz;TestDeprecatedIndexers.test_getitem_dict_and_set_deprecatedr0rc    CsPtddgddggddgt ddg¡d    }tjtd
d |j|W5QRXdS© Nr-r0r1r2rµr¶rr=rr§r©r rrPr!r"r¦r]r©r*r*r+Ú/test_getitem_dict_and_set_deprecated_multiindex s  ýzFTestDeprecatedIndexers.test_getitem_dict_and_set_deprecated_multiindexc    CsDtddgddggddgd}tjtdd    d|j|<W5QRXdSr¦r¨r©r*r*r+Ú$test_setitem_dict_and_set_disallowed!sz;TestDeprecatedIndexers.test_setitem_dict_and_set_disallowedc    CsPtddgddggddgt ddg¡d    }tjtd
d d|j|<W5QRXdSr«r¬r©r*r*r+Ú/test_setitem_dict_and_set_disallowed_multiindex*s  ýzFTestDeprecatedIndexers.test_setitem_dict_and_set_disallowed_multiindexN)
rxryrzr!r{r|rªr­r®r¯r*r*r*r+r¥s@0ÿ
 
úþ
 
0ÿ
 
úþ r¥).Ú collectionsrrrÚdecimalrrCÚnumpyrAr!Z pandas._libsrZ pandas.errorsrr    r
Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr}Zpandas.core.dtypes.commonr Zpandasrÿr r rrrrrrrrrZpandas._testingZ_testingr rðrr~r†r–ržr‡r¥r*r*r*r+Ú<module>s@    4 R +C