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
U
­ý°dã@sPddlZddlZddlmZmZddlZddlmZm    Z    m
Z
m Z ddl m Zejdd„ƒZejdd„ƒZGdd    „d    ƒZej d
ggfd ged ƒfd d ggfd dggfd ggfejdd…dgfeddd ƒfejdd…ddgfeddd ƒfg¡dd„ƒZej dgedƒfdggfg¡dd„ƒZdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Z d'd(„Z!d)d*„Z"d+d,„Z#d-d.„Z$d/d0„Z%d1d2„Z&Gd3d4„d4ƒZ'd5d6„Z(d7d8„Z)d9d:„Z*d;d<„Z+d=d>„Z,d?d@„Z-ej dAdBddCdDdd dEdCgdBddCdDd dEgg¡dFdG„ƒZ.dHdI„Z/dJdK„Z0dLdM„Z1dNdO„Z2dPdQ„Z3dRdS„Z4dTdU„Z5dVdW„Z6dXdY„Z7dS)ZéN)Ú IndexingErrorÚPerformanceWarning)Ú    DataFrameÚIndexÚ
MultiIndexÚSeriescCs$tddddggddddggd    gd
S) zsingle level MultiIndexÚfooÚbarÚbazZquxréééÚfirst)ÚlevelsÚcodesÚnames)r©rrú`d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/indexing/multiindex/test_loc.pyÚsingle_level_multiindexs
 ÿrcCsTddgdddgg}ddddddgddddddgg}t||d}ttj dd¡|dS)Nrr r )rré©Úindex)rrÚnpÚrandomÚrandn)rrrrrrÚ%frame_random_data_integer_multi_indexs  rc @sPeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z e j  dddgddgfdggfddggfg¡dd„ƒZdd„Zdd„Zdd „Zd!d"„Zd#d$„Ze j  d%eeeeejeef¡e j  d&eeeeejeef¡d'd(„ƒƒZd)d*„Ze j  d+d,d-g¡d.d/„ƒZe j  d0ed1ƒd2fd3ej fg¡d4d5„ƒZ!d6d7„Z"d8d9„Z#d1S):ÚTestMultiIndexLoccCsV|}d|jd<|jddks t‚| ¡}ttdƒƒ|_d|jd<|jddksRt‚dS)Né)©r    ÚtwoÚBr é)rr )ÚlocÚAssertionErrorÚcopyÚlistÚrangeÚcolumns)ÚselfÚ multiindex_dataframe_random_dataÚframeÚdfrrrÚ&test_loc_setitem_frame_with_multiindex$s
 
z8TestMultiIndexLoc.test_loc_setitem_frame_with_multiindexc     Cs|}ddddddœddddddœd    d
d    d    d    dœd œ}t|ƒ}| ||d œ¡}|jd dgd}d}t t¡"t |j||jdd…¡W5QRX|j    dd}|dksªt
‚|j|}t j dgd|d}t j d    gd|d}    t j||    gd dgd}
tddddgi|
d} t || ¡dS)Ni¼iXéÞiMi¼)rr r r ég @ç@é é )ÚamountÚcolÚnum)r3r4r3r4)Úkeys)r/r0r T)Zinplacer ©Údtype©rr2r)rZastypeÚ    set_indexÚtmZassert_produces_warningrÚassert_frame_equalr"ÚilocÚ
sort_indexr#rÚarrayrÚ from_arrays) r(Zany_real_numpy_dtyper7Údatar+ÚkeyZ return_valueÚresZcol_arrZyear_arrrÚexpectedrrrÚtest_loc_getitem_general/s&ý &  
z*TestMultiIndexLoc.test_loc_getitem_generalc    Cs`ttj dd¡dddgdddggdddgdddggd}tjtd    d
|jdW5QRXdS© Nr r r.réé
r0©r'rz^2$©Úmatch©rrrrÚpytestÚraisesÚKeyErrorr"©r(r+rrrÚ0test_loc_getitem_multiindex_missing_label_raisesLs ýzBTestMultiIndexLoc.test_loc_getitem_multiindex_missing_label_raisescCs:|d}| |jdd…¡}|jddg}t ||¡dS)NÚAé1é3)éÐr rG)rTr é )Úreindexrr"r:Úassert_series_equal)r(Ú/multiindex_year_month_day_dataframe_random_dataÚserrCÚresultrrrÚ/test_loc_getitem_list_of_tuples_with_multiindexWszATestMultiIndexLoc.test_loc_getitem_list_of_tuples_with_multiindexcCst dddgdddgg¡}t|tdƒtjd}tddgƒ}td    ddd
d d gt ddgdddgg¡tjd }|j|}t ||¡|jddg}t ||¡tddgddgd}|j|}t ||¡tgtjd}tgt|j    gggtjdtjd}|j|}t ||¡dS)Nr r r rQr ÚCé    ©rr@r7rrr!rF©r@rr7r)r@r7©rrr7©rr7)
rÚ from_productrr&rÚfloat64r"r:rWr)r(rÚxÚyrCrZÚy1ÚemptyrrrÚtest_loc_getitem_series_s. ý
 
 ý
z)TestMultiIndexLoc.test_loc_getitem_seriescCst dddgdddgg¡}t|tdƒtjd}t ddg¡}td    ddd
d d gt ddgdddgg¡tjd }|j|}t     ||¡t g¡}tgt|j
gggtjddd}|j|}t     ||¡t  d¡}td    ddgdddgtjd }|j|}t     ||¡dS)Nr r r rQr r\r]r^rrr!rFr_r`rcra) rrbrr&rrcr>r"r:rWrÚint64)r(rrdrerCrZrgZscalarrrrÚtest_loc_getitem_array~s,ý
 
ý
 
 
z(TestMultiIndexLoc.test_loc_getitem_arraycCs ttj dd¡dddgdddggdddgdddggd}|jd    d
g d    ¡}|jd}t ||¡|jdd…d gfjd    d
d }|jdd…df}t ||¡|jd gd gf d    ¡jd    d
d }|jdjdd…df}t ||¡|jd    d
g}|jd }t ||¡dS)Nr ÚiÚjrQr ÚXÚYrHrr r ©Úaxis)rkrm©    rrrrr<Ú    droplevelr"r:r;©r(r+rCrZrrrÚtest_loc_multiindex_labelsœs" ý
  " 
z,TestMultiIndexLoc.test_loc_multiindex_labelscCsfttj dd¡dddgdddggdddgdddggd}|jd    d
g d    ¡}|jd}t ||¡dS) Nr r r.rrFrGr0rHrr rqrsrrrÚtest_loc_multiindex_ints·s ý
z*TestMultiIndexLoc.test_loc_multiindex_intsc    Cs`ttj dd¡dddgdddggdddgdddggd}tjtd    d
|jdW5QRXdSrErKrOrrrÚ(test_loc_multiindex_missing_label_raisesÁs ýz:TestMultiIndexLoc.test_loc_multiindex_missing_label_raiseszkey, posr r.rr r c    Cs`ttj dd¡dddgdddggdddgdddggd}tjtd    d
|j|W5QRXdS) Nr r r.rrFrGr0rHz not in indexrIrK)r(rAÚposr+rrrÚ&test_loc_multiindex_list_missing_labelËs ýz8TestMultiIndexLoc.test_loc_multiindex_list_missing_labelc    Cs˜ttdƒt ddgddgddgg¡d}tjtd    d
|jd W5QRXtjtd d
|jd W5QRXtjtdd
|jdW5QRXdS)NrFÚaÚbÚcÚdÚeÚfrz^\('a', 'b'\)$rI©ryrzz^\('a', 'd', 'g'\)$)ryr|ÚgzToo many indexers)ryr|r€rl)    rr&rrbrLrMrNr"r)r(ÚsrrrÚ(test_loc_multiindex_too_many_dims_raises×sþz:TestMultiIndexLoc.test_loc_multiindex_too_many_dims_raisescCsÐdd„tdƒDƒ}dd„tdƒDƒ}t ||g¡}dtj dd¡d}t||d    }||}t ||¡tt     d
¡ 
d d¡t dd d dgdd d gg¡d}|j dd gfdd…f}|j dd g}t ||¡dS)NcSsg|]}dt|ƒ‘qS)Ú    Attribute©Ústr©Ú.0rkrrrÚ
<listcomp>èszFTestMultiIndexLoc.test_loc_multiindex_indexer_none.<locals>.<listcomp>r cSsg|]}dt|ƒ‘qS)ÚValuer„r†rrrrˆésrgš™™™™™¹?rGgà?©r'r0éÿÿÿÿr r r.r) r&rrbrrrrr:r;ÚarangeÚreshaper")r(Ú
attributesZattribute_valuesrr+rZrCrrrÚ test_loc_multiindex_indexer_noneås  þz2TestMultiIndexLoc.test_loc_multiindex_indexer_nonecCs
ttjdddt tdƒdddgg¡ƒ}|jdd…dd…f}|jdd    …dd…f}t ||¡|jdd    …dd…f}t ||¡|jdd…dd…f}t ||¡ttjdddt tdƒdddgg¡ƒ}|j    d
d d d ddg}|jdd    d…dd…f}t ||¡dS)Nérir6rryrzr{rr.rr!rFr0rUér )
rrrŒrrbr&r"r:rWr<)r(rrCrZrrrÚtest_loc_multiindex_incompleteüs$ þ    þz0TestMultiIndexLoc.test_loc_multiindex_incompletecCs4|}ttj t|ƒ¡|d}|jD] }||q"dS)Nr)rrrrÚlenÚvalues)r(rZ single_levelrÚkrrrÚtest_get_loc_single_levels
z+TestMultiIndexLoc.test_get_loc_single_levelcCst dddgddgg¡}ttj dd¡||ƒ}|jdd…dd…f}|}t ||¡t dddgddgg¡}ttj dd¡||ƒ}|jdd…dd…f}|j    d    d…}t ||¡|jddd…f}|j    d
d    …}ddg|_
t ||¡|jdd…df}|d}t ||¡dS) Nrr!rFryrzrGéér r) rrbrrrrr"r:r;r<r)r(rr+rZrCrrrÚtest_loc_getitem_int_slices"  
 z,TestMultiIndexLoc.test_loc_getitem_int_sliceÚindexer_type_1Úindexer_type_2c     sòdd„‰dddg}dddg}t ||g¡}ttjt|ƒd    d
|d gd }ddgddgf}||f}t‡fd d„t||ƒDƒƒ}    |tksŒ|tkr¸t    j
t dd|j |    d fW5QRXdS|j |    d f}
t ddddgd t |¡d} t |
| ¡dS)NcSs,|tjkrt |¡S|tkr$t|ŽS||ƒS©N)rÚndarrayr>Úslice)Ú indexer_typer5rrrÚconvert_nested_indexerCs
 
 
zQTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.convert_nested_indexerrGr—r˜r r r rir6ÚData©rr'c3s|]\}}ˆ||ƒVqdSrœr)r‡rŸr•©r rrÚ    <genexpr>VsÿzDTestMultiIndexLoc.test_loc_getitem_nested_indexer.<locals>.<genexpr>zas an indexer is not supportedrIr.r©Únamer)rrbrrrŒr“ÚtupleÚzipÚsetrLrMÚ    TypeErrorr"rr:rW) r(ršr›ryrzrr+r5ÚtypesÚindexerrZrCrr£rÚtest_loc_getitem_nested_indexer8s2 
 
ÿ þ
ÿz1TestMultiIndexLoc.test_loc_getitem_nested_indexercCsHt ddg¡}|ddg|d}d|jd<|ddg|d}t ||¡dS)N©ryrQ©rzrQr r rr©ry)rÚ from_tuplesr"r:Z assert_equal)r(Zframe_or_seriesÚmiÚobjrCrrrÚ)test_multiindex_loc_one_dimensional_tuplegs
 
z;TestMultiIndexLoc.test_multiindex_loc_one_dimensional_tupler¬r°rycCsPt ddg¡}tddg|d}d|j|dd…f<tddg|d}t ||¡dS)Nr®r¯r r rr©rr±rr"r:r;)r(r¬r²r³rCrrrÚ-test_multiindex_one_dimensional_tuple_columnsos
z?TestMultiIndexLoc.test_multiindex_one_dimensional_tuple_columnszindexer, exp_valueNçð?©r r cCsxt ddg¡}tddgddgg|ddgd    }d
|j|d d gf<tddd
d
gdd||gg|ddd d gd    }t ||¡dS) Nr¸©r r.r r r r.ryrzr¢r·r{r|rµ)r(r¬Z    exp_valuer²r+rCrrrÚ)test_multiindex_setitem_columns_enlargingxs
ýz;TestMultiIndexLoc.test_multiindex_setitem_columns_enlargingcCsÔt tjdddtddgƒg¡}td|d}td|dd…d}tj||gdd}| ¡}|jd    d
…}t     
||¡t ||d œƒ}|jd    d
…}t     
||¡tj||  |j ¡gdd}|jd    d
…}t     
||¡dS) NZ20110101r ©Úperiodsryrzr rroz
2011-01-01z
2011-01-02©rr )rrbÚpdÚ
date_rangerrÚconcatr$r"r:r;rrVr)r(ZmidxZser1Úser2r+rCrZrrrÚ"test_sorted_multiindex_after_union‡sÿ   z4TestMultiIndexLoc.test_sorted_multiindex_after_unioncCsttt tdƒtdƒtdƒg¡dgd}|jtjdd…ddd…f}tt tdƒtdƒg¡dgd}t ||¡dS)NÚabZcdr}ZValr¢r{)    rrrbr%r"rZs_r:r;)r(r+rBrCrrrÚtest_loc_no_second_level_index›sþÿz0TestMultiIndexLoc.test_loc_no_second_level_index)$Ú__name__Ú
__module__Ú __qualname__r,rDrPr[rhrjrtrurvrLÚmarkÚ parametrizerxr‚rr’r–r™r%r§r©ržrrrrr­r´r¶ÚnanrºrÂrÄrrrrr#sF  
 
,
ÿÿ )
ÿ
rz indexer, posrQr ÚDÚErr Úbahc    CsÖtjdddgdddggddgd    }ttjd
d d |d  ¡}|j|}|jdkr‚|gkr‚tj    t
t |ƒd|j |W5QRXnP|t dƒddgfkr¼tj    t
dd|j |W5QRXn|j |}t ||¡dS)NrQr r\rr    r
Úonerr8r]rir6rrrIrÍz'bah')rrbrrrŒr=r<ÚsizerLrMrNr…r"ržr:rW)r¬rwÚidxrYrCrZrrrÚ7test_loc_getitem_duplicates_multiindex_missing_indexers¨sÿ
 
rÑÚcolumns_indexercCs~t dddgddgf¡}ttj dd¡tdƒ|d}|jd    d
d }ttdƒ| g¡d    d}|j    dd…|f}t
  ||¡dS) Nrr    r
ÚalphaÚbetarrr¢rr )Úlevelrp) rrbrrrrr&r=rVr"r:r;)rÒZ multi_indexr+rCrZrrrÚ4test_loc_getitem_duplicates_multiindex_empty_indexerÉs rÖcCsLttjtjgddggt ddg¡ddgd}|jd}tj}||ksHt‚dS)    NÚmeanÚmedian©Úfunctsr×)rÚrØÚfunctionr¦rH)rÛrÙ)rrr×rØrr±r"r#©r+rZrCrrrÚ=test_loc_getitem_duplicates_multiindex_non_scalar_type_objectÖs ý
rÝcCsdtt d¡t d¡tj d¡tj d¡dœƒ ddg¡}|jd}|jddd…f}t ||¡dS)NrG)ryrzr{r|ryrz)rr)    rrrŒrrr9r"r:rW)r+rCrZrrrÚ!test_loc_getitem_tuple_plus_sliceãs
 
üÿù
rÞcCs8|}|jd}|dd…}|j d¡|_t ||¡dS)Nr éýÿÿÿr)r"rrrr:r;)rr+rZrCrrrÚtest_loc_getitem_intòs
 
 ràc    Cs,|}tjtdd|jdW5QRXdS)Nz^3$rIr )rLrMrNr")rr+rrrÚ%test_loc_getitem_int_raises_exceptionúsrác    CsT|}tjtdd|jdW5QRXd|jd<d}| ¡jd}||ksPt‚dS)Nz^\('bar', 'three'\)$rI))r    Úthreer r)rLrMrNr"r=r#)r)r+rCrZrrrÚ test_loc_getitem_lowerdim_corners
rãcCsÀtdtdƒt dgdg¡d}d|d<|j|jdd…df<t t     |d¡t     |j¡¡ttj
t dƒt  d    d
d g¡d}|  ¡}t d¡|jdd…d f<t d¡|jdd…d f<t ||¡dS)NÚstringZabcdZMain)ZanotherrÎr¢ryÚlabelsr.)rQÚ1)rQÚ2)r rær r )rr%rrbrr"r:Úassert_numpy_array_equalrZasarrayrÊr&r±r$rŒr<r;)r+rCrrrÚ$test_loc_setitem_single_column_slices"ýýréc
CsÆddtjfddtjfddtjfddtjfdddd    tjfdd
tjfg}tt d ¡td d ddgƒtj|dddgdd}|jdjd}tt d¡ttjgdddtd d ddgddd}t     ||¡dS)Nz Good Thingsr\ÚRz
Bad ThingsÚT)ú Okay ThingsÚNr )rìrírËrìr rË)rFr.Úd1Zd2Zd3Zd4Úu1Úu2Úu3r8rH)r r.Úobject)r7r¦r6r¢)
rrÊrZonesrrr±r"r:r;)Ztupsr+rZrCrrrÚtest_loc_nan_multiindex%s*
 
 
 
 
 
ø
ýýrócCsrtjdddd}d}tj||fdd}t|dd    }|jd
}|j|d d fd f}t |¡s`t‚t |¡snt‚dS)NÚ2013Q1Z2013Q4ÚQ)Úfreq)éWi®i )ZPeriodZCVRr8)    ÚOMSZOMKZRESZ    DRIFT_INDZ
OEVRIG_INDZFIN_INDZVARE_UDZLOEN_UDZFIN_UDr¢))rôr÷rørr÷rø)    r¾Z period_rangerrbrr"rÚisnanr#)ryrkrÐr+rZZaltrrrÚtest_loc_period_string_indexing?sþ
rúcCs°t ddg¡}tj||gddgd}tddgdd    gd
d gd d gg|d dgd}|j|d|j d¡dkfd f}tdgd tj    t 
d¡t 
d¡fgddgdd}t   ||¡dS)Nz
2017-05-04z
2017-05-05ZIdx1ZIdx2r8r r r r.rrr!ZC1ZC2©r@rr'rr¥) r¾Ú to_datetimerrbrr"rZget_level_valuesrr±Ú    Timestampr:rW)Zdt_idxZm_idxr+rZrCrrrÚtest_loc_datetime_mask_slicing`s"ÿ"þýrþcCsPt d¡}tdtjd|fgddgddd}|jdd…|gf}t ||¡dS)NÚ2000r ryrzr8r{)rr¦)r¾rýrrr±r"r:rW)ÚdaterYrZrrrÚ&test_loc_datetime_series_tuple_slicingss
ýrcCs°tddgddgddgddggtjddd    d    gd
d gd d dgd}tjdd    gd
d gd }|j|dd…f}tddgddgddggtjdd    d    gd
d gd d dgd}t ||¡dS)Nryr rrzr{r r½)r r©r r rrr8ÚauthorZpricerûr¢)rrr±r"r:r;)r+rÐrZrCrrrÚtest_loc_with_mi_indexers 
ÿûýrcCsÒtjdddd}ttdƒ|d}| ¡}||d<|jddd    }|jjd
ksNt‚|j     |d¡|j
|d}|j dg  d¡}t  ||¡|d}|jjd
ks¢t‚|j
|d}|j dg  d¡}t  ||¡dS) Nz
2016-01-01r z
US/Pacific)r¼Útzrr rT)Úappend)Nr)r¾r¿rr&Zto_framer9rrr#Úget_locr"r<rrr:r;rW)ZdtirYr+Údf2rZrCrÁrrrÚtest_loc_mi_with_level1_named_0’s r    cCs||ddddƒ}tj|dgd}| ddg¡ ¡}|jdtd    ƒfdd…f d
¡}|jdjtd    ƒdd…f}t ||¡dS) NrÚmerger@z quotes2.csvÚtime)Z parse_datesZtickerZAAPLz2016-05-25 13:30:00r)    r¾Zread_csvr9r=r"ržrrr:r;)ÚdatapathÚpathr+rrBrCrrrÚtest_getitem_str_sliceªs  rcCsxtjddddgddd}ddd    d
g}dd d d g}t |||g¡}ttdƒ|tjd}|j|dddf}|dkstt    ‚dS)Nz 20181101 1100z 20181101 1200z 20181102 1300z 20181102 1400Údatetimer )r¦rörQÚZÚWr\rõÚFr.rarg)
r¾Z PeriodIndexrr?rr&rrcr"r#)ÚpiZlev2Zlev3r²rYrZrrrÚ!test_3levels_leading_period_indexµs
ý  rc@s$eZdZdd„Zdd„Zdd„ZdS)ÚTestKeyErrorsWithMultiIndexc    CsVtt d¡ dd¡dddgd}| ddg¡}tjtdd    |jd
W5QRXdS) Nr0r.r rQr r\rŠrærI©r r)    rrrŒrr9rLrMrNr")r(r+rrrrÚ!test_missing_keys_raises_keyerrorÆs z=TestKeyErrorsWithMultiIndex.test_missing_keys_raises_keyerrorc    CsDtdt ddggd¡d}tjtdd|jdW5QRXdS)    Nr‹rr r rz\(0, 3\)rI)rr )rrrbrLrMrNr")r(rYrrrÚ!test_missing_key_raises_keyerror2Îsz=TestKeyErrorsWithMultiIndex.test_missing_key_raises_keyerror2c    Csôtjt ddddg¡t ddddg¡t ddddg¡gdd    d
gd }ttj d d ¡|d}d}tjt    |d"|j
ddt dƒfdd…fW5QRXtjt    |d|j   ddt dƒf¡W5QRXtjt    dd|j
ddd…fW5QRXdS)NryrzrærçÚ3r{r|rÎrrâr8r.r rz'\('b', '1', slice\(None, None, None\)\)rIz \('b', '1'\))rzræ)rr?rr>rrZrandrLrMrNr"ržrZget_locs)r(r²r+ÚmsgrrrÚtest_missing_key_combinationÕsýú& z8TestKeyErrorsWithMultiIndex.test_missing_key_combinationN)rÅrÆrÇrrrrrrrrÅsrcCs2|}|d}|d}|jdd}t ||¡dS)NrQ)rTr)r"r:rW)rXr+rYrZrCrrrÚtest_getitem_loc_commutabilityés
rcCsžtdddgddtjgdddgdœƒ dd    g¡}|jdg}td
dgitjd gdd    gd d }t ||¡|jd}td
dgit    dgd    dd }t ||¡dS)Nr r rryr|r.)r3Úind1Úind2rrr3)ryr r8r©r¦)
rrrÊr9r"rr±r:r;rrÜrrrÚtest_loc_with_nanñsÿþ ÿ 
r c    CsRtddddggddddgd     dddg¡}tjtd
d |jd W5QRXdS) Nr r r r.ryrzr{r|rŠz\(2\.0, 2\.0, 3\.0\)rI)ç@r!ç@)rr9rLrMrNr"©r+rrrÚtest_getitem_non_found_tuples
ÿr$cCsætjddd}t |g¡}| d¡tdddƒks4t‚| d¡tdddƒksNt‚|ddd… d¡}|ddd… d¡}||ks‚t‚| d¡ d¡}| d¡ d¡}||ks®t‚| |¡ d¡}| |¡ d¡}t     
|  ¡d|¡dS)Nz
2001-01-01édr»z2001-01rér ) r¾r¿rr?rržr#Úrepeatrr:rèZnonzero)rr²r"rCrrrÚtest_get_loc_datetime_index
s   r(cCsžt ddgddgg¡}tddgddgdd    gd
d gg|d }dddgf}t d dgddgg¡|j|dd…f<tddgd dgdd    gd
d gg|d }t ||¡dS)Nryrzrr r r r.rrr!rFrr]rGr1r0)rrbrrr>r"r:r;)r²r+r¬rCrrrÚ,test_loc_setitem_indexer_differently_ordered s $ $$r)cCsªtddgddgddgddggd    d    d
d
gddddggd    d
gd }|jtdƒddgfdd…f}tddgddgddgddggd    d
d    d
gddddggd    d
gd }t ||¡dS) Nr r r r.rrr!rFryrzr¢)rr"ržr:r;rÜrrrÚ5test_loc_getitem_index_differently_ordered_slice_none+sýýr*r¬r r!rrFc Csºtdgdt ddddddd    d
g¡d gd }|jtdƒ|fdd…f}tdgdddd dd dd d gdd d dddddggd gd }t ||¡|j|jj|dddd…f}t ||¡dS)Nr rFrr¸)r r!r)r r )r r )r rF)r r!ryr¢r r!rr )rÕ)    rrr±r"ržr:r;rÚisin)r¬r+rZrCrrrÚ@test_loc_getitem_index_differently_ordered_slice_none_duplicates;s ÿû&ý r,cCsªtjdgdgdggdddgd}tdd    gi|d
}| d    d g¡}|jddd…df}t ||¡td    g|d
}|jddd…df}td    gtdgdd d
}t     ||¡dS) NrdreÚzryrzr{r8r|rrr r)
rr?rrrr"r:r;rrrW)r²r+rCrZrYrrrÚ3test_loc_getitem_drops_levels_for_one_row_dataframeQs  r.cCspt dddgddgg¡}tt d¡|d}|jdd…ddgf}tt d¡t d    d
d d g¡d}t ||¡dS) NrQr r\r r )rrrŠ)rr.)r r )r r )rQr )rQr )    rrbrrÚzerosr"r±r:r;)Úcolsr+rZrCrrrÚ$test_mi_columns_loc_list_label_order_sþr1c    Cs†tt d¡ d¡ddddgddddggdddgd    d
d    ggd }d d g|j_ddg|j_tjt    dd|j
ddgdfW5QRXdS)Nr0)r.r ryrzr r ZOhioZColoradoZGreenZRedr¢Úkey1Úkey2ÚstateÚcolorz\[2\] not in indexrI) rrrŒrrrr'rLrMrNr")r*rrrÚ$test_mi_partial_indexing_list_raisesksý  r6c    CsNttdƒt ddgddgg¡d}tjtdd|jd    d
gW5QRXdS) Nr.r r ryrzrz\['not' 'found'\] not in indexrIÚnotÚfound)rr&rrbrLrMrNr")rrrrÚ(test_mi_indexing_list_nonexistent_raisesxs"r9cCs¼tddddgddddggd    d    gt ddgd
d gg¡d }d |jd<d|jd<d|jd<tddddgddddgddd d gdtjtjtjggd    d    ddgt ddgd
d gg¡d }t ||¡dS)Nr r rrr r.r!rFryrQr r¢r‹r{)r{©r rQ)r|r:r·r!g@g@r"r/g@g @gð¿r|)rrrbr"rrÊr:r;)rZrCrrrÚ'test_mi_add_cell_missing_row_non_uniques$ý
 
 
 
 
 
ü
ø
r;cCs„tdddœtjdgdggddgdd    }|jd
}|dks>t‚t|tjƒsNt‚|jd gd fjd }|dkspt‚t|tjƒs€t‚dS)Nr·r rr r.r{r|r8r)r¹rzr¹rzr)    rrr?r"r#Ú
isinstancerrir<)r+rZrrrÚ$test_loc_get_scalar_casting_to_float–sÿ
  r=cCsftjddgddggddgd}t|tjd}|jd}ttjtjgtddgdd    d
}t     ||¡dS) NryrzrQr r rr8rarr)
rrbrrrcr"rÊrr:rW)rÐÚs2rZrCrrrÚ)test_loc_empty_single_selector_with_names£s
 
 r?c    Csbtddddddgddddddgtd    ƒd
œƒ}| d d g¡}tjtd d|jdW5QRXdS)Nr%éÈi,rGr—ér&é!r)rQr r\rQr z^1$rI)r%r )rr&r9rLrMrNr"r#rrrÚ'test_loc_keyerror_rightmost_key_missing¬sýÿrCcCs8t ddg¡}tddg|d}|jd}|dks4t‚dS)Nr¸)r )r.rr r r)rr±rr"r#)r²rYrZrrrÚ*test_multindex_series_loc_with_tuple_label»s
rD)8ÚnumpyrrLZ pandas.errorsrrZpandasr¾rrrrZpandas._testingZ_testingr:ZfixturerrrrÈrÉržZ
IndexSlicerÑrÖrÝrÞràrárãrérórúrþrrr    rrrrr r$r(r)r*r,r.r1r6r9r;r=r?rCrDrrrrÚ<module>sv 
 
 
 
 ùþ
 
 !  $     ,