gL iorddlmZddlmZddlmZddlZddlZddlZddlZ ddl Z ddl m Z ddl mZddlmcmZddlmZmZmZddlZddlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#ddl$m%Z&dd l'm(Z(m)Z)m*Z*m+Z+m,Z,Gd d Z-Gd d Z.GddZ/e j`jcdgddZ2e j`jcdeedgeedgeedgee dgeee3deeejhddgee(dge5ee)dgdggdZ6dZ7dZ8e j`jcdde jre jte jvgdZe j`jcd%ej~ejgd&ZAejd'd(ZCycc}w))) defaultdict)datetime)partialN)IS64)InvalidIndexError)is_any_real_numeric_dtypeis_numeric_dtypeis_object_dtype) CategoricalIndex DataFrame DatetimeIndex IntervalIndex PeriodIndex RangeIndexSeriesTimedeltaIndex date_range period_rangetimedelta_range)Index MultiIndex_get_combined_index ensure_indexensure_index_from_sequencesceZdZejdefdZdZejjddgddZ d Z ejjdd gdd Z d Z ejjd ddgejjdedddddedddedddedddgdZejjdedddddfeddddfeddddfgdZdZdZdZejjdeej.ej0fed ej6fgd!Zejjd"gd#d$fd%ej0d&d'gd(fd)d*d+ej0gd,fgd-Zejjd.d/d0gejjd1eegd2Zejjd.d/d0gejjd1eegd3Z ejjd4ge!gd5d6Dgejjd1ee"eegd7Z#ejjd8e$gd9e$fe$e!gd9e$fe$d:d6Dd9e$fe%d;<e%fe&d;d=gd>d?ggggg@e&fgdAZ'ejjdgdBddCZ(ejjdd ejRdDejjUdEFGdHdIdJgddKZ+ejjdgdLddMZ,dNZ-ejjdOedPdQgegdRgdSgdTZ.dUZ/dVZ0dWZ1ejjdd gddXZ2dYZ3ejjdgdZdejjd[e4ejjgd\Z6ejjdgdZdd]Z7d^Z8d_Z9d`Z:ejjdedaddbedaddbedcdbdgdeZ;dfZ$FFFr%r(rT)indirectcvtjtd5|dddfdddy#1swYyxYw)NMulti-dimensional indexingmatch)pytestraises ValueErrorr"r(s r# test_new_axiszTestIndex.test_new_axis7s3]]:-I J  $'N    /8c0tj||yN)tmassert_contains_allr3s r#test_constructor_regularz"TestIndex.test_constructor_regular?s ue,r%stringctj|}t|}tj||tj ||yr7)nparrayrr8r9assert_index_equal)r"r(arr new_indexs r#test_constructor_castingz"TestIndex.test_constructor_castingBs:hhuo#J  sI. eY/r%cttdd}tj|}t|dd}t |tsJ|j dk(sJ|r6t j|jtj|dn t j||jd|d <|d dk7sJy) NabcnamerETcopyrEstrdtypeSOMEBIGLONGSTRINGr) rr r=r> isinstancerEr8assert_extension_array_equalvaluespdassert_numpy_array_equal)r"using_infer_stringr(r@rAs r#test_constructor_copyzTestIndex.test_constructor_copyJsd5k/hhuo#Dv6 )U+++~~'''   + +  "((3e"<   ' 'Y-=-= >$A|2222r% cast_as_objFz2015-01-01 10:00Dz US/EasternzGreen Eggs & Ham)freqperiodstzrE)rWrX1 daysz 2015-01-01c |rCtjtd5t|j t }dddn t|}tj |t|tr|j|jk(sJ|rc|tjdz }t|t }|jtjk(sJt|t|k(sJyyy#1swYxYw)NzDtype inferencer.2) nanosecondsrJ)r8assert_produces_warning FutureWarningrastypeobjectr?rMr rYrP TimedeltarKr=object_r )r"rTr(results r#"test_constructor_from_index_dtlikez,TestIndex.test_constructor_from_index_dtlikeYs" ++MARS 5u||F34 5 55\F fe, e] +99( (("55uF3||rzz111F|tE{222 , 5 5s C99Dz index,has_tz)rWrXrYctt|}tj|||r|j|jk(sJyyr7)rrr8r?rY)r"r(has_tzrds r##test_constructor_from_series_dtlikez-TestIndex.test_constructor_from_series_dtlike}s@ve}% fe, 99( (( r%cgd}t|d}ttj|}t|d}t j ||y)Nz1-1-1990z2-1-1990z3-1-1990z4-1-1990z5-1-1990MSrW)r rrP to_datetimer8r?)r"dtsexpectedsrds r#!test_constructor_from_series_freqz+TestIndex.test_constructor_from_series_freqsEK 40 2>>#& 'qt, fh/r%cgd}t|d}ttjj djd}||d<t|dd}|st nd}|dj |k(sJd|_tj||t|d}tj|d||s tj|d}|dk(sJyy) Nrjrkrl)rVdaterIrF)r r r=random default_rngrarKrEr8r?rassert_series_equalrP infer_freq)r"rRrnrodfrdrKrWs r#'test_constructor_from_frame_series_freqz1TestIndex.test_constructor_from_frame_series_freqsK 40 ryy,,Q/66v> ?6 r&z50e&z5(((  fh/#F+ r&z84"==F,D4< <"r%ctjg}t|tj}t|d}t j ||y)NrJfloat)r=nanrfloat64r8r?)r"datarords r#test_constructor_int_dtype_nanz(TestIndex.test_constructor_int_dtype_nans9xRZZ0t7+ fh/r%zklass,dtype,na_valzdatetime64[ns]c||g}||}|j|k(sJt|}tj||tt j |}tj||yr7)rKrr8r?r=r>)r"klassrKna_valna_listrords r#test_index_ctor_infer_nan_natz'TestIndex.test_index_ctor_infer_nan_natse6">~~&&&w fh/rxx() fh/r%z vals,dtypersrVrtintg?g@@r}ABCobjct||}|j|j|}tj||y)NrF)r _simple_newrOr8r?)r"valsrKr(rds r#test_constructor_simple_newz%TestIndex.test_constructor_simple_news6d'""5<<7 fe,r%attrrOasi8rctdd}t||}|j|}|j}|du}d}|dk(r1t |j|} t j | |nW|tur/tjtd5|||dddn |||} t j | ||dk(rr|r?tjt|5t |j|dddnQt |j|} t j | |n ||| } t j | ||dk(r:t t|j|} t j | |n`|tur/tjtd5|||dddn)|t||} t j | ||dk(r|rHtjt|5t t|j|dddyt t|j|} t j | |y|t|| } t j | |y#1swYxYw#1swYixYw#1swYxYw#1swYyxYw) N 2011-01-01rtrXz:Cannot use .astype to convert from timezone-naive dtype torzunexpected keywordr.)rYrJ) rgetattr tz_localizerKr r8r?rr0r1 TypeErrorr`r ) r"tz_naive_fixturerrr(argrKerrmsgrds r# test_constructor_dtypes_datetimez*TestIndex.test_constructor_dtypes_datetimesz<3eT"!!"23 d*J 6>"3'334DEF  ! !&% 0 e^y0DE 0c./ 0 03#34F  ! !&% 0 6>]]9C85!#&--e455's+2259%%fe43e,F  ! !&% 0 6>"49-99:JKF  ! !&% 0 e^y0DE 0c./ 0 049)9:F  ! !&% 0 6>]]9C8;!$s),33E:;;'tCy188?%%fe449E2F  ! !&% 0I 0 055 0 0;;s0 J3,K K "$K3J=K  KK"ctdd}|jd}|j}t||}|||}t j |||t ||}t j ||y)NrZrtrrJ)r _with_freqrKrr8r?r )r"rrr(rKrOrds r#!test_constructor_dtypes_timedeltaz+TestIndex.test_constructor_dtypes_timedeltasq !4  & %vU+ fe,tF|51 fe,r%valuec# K|]}|ywr7.0_s r# zTestIndex.#s_Aa_ rcJ||}t||sJt|rJyr7rMlen)r"rremptys r#test_constructor_emptyz TestIndex.test_constructor_empty#s+e %'''u:~:r%z empty,klassrlc# K|]}|ywr7rrs r#rzTestIndex.7s!rr)steprsblueredlevelscodesc:t||sJt|rJyr7r)r"rrs r#test_constructor_empty_specialz(TestIndex.test_constructor_empty_special2s"%'''u:~:r%) rrfloat32int64int32periodrangerepeats timedeltatuplesuint64uint32c&|jdy)Ni8)viewr3s r#test_view_with_argszTestIndex.test_view_with_args@s&  4r% categoricalzgh-25464reason)marks bool-object bool-dtyperc8|jtk(r8d}tjt|5|j ddddyd}tjt |5|j ddddy#1swYyxYw#1swYyxYw)NzWhen changing to a larger dtyper.rzCannot change data-type for array of references\.|Cannot change data-type for object array\.|Cannot change data-type for array of strings\.|)rKboolr0r1r2rrr"r(rs r#'test_view_with_args_object_array_raisesz1TestIndex.test_view_with_args_object_array_raisesUs ;;$ 3Cz5 ! 4  ! !C  y4 ! 4  ! ! ! ! ! !sB)BB B)rrrc|jd}|jdd|_|jd}|jdk(sJy)Nrrtfoobar)r`get_locrE)r"r(casteds r# test_astypezTestIndex.test_astypensI d# q d#{{h&&&r%cVtgdjtgdsJyNabcrequalsr!s r#test_equals_objectzTestIndex.test_equals_object~s _%,,U?-CDDDr%comprr)rrdrc@tgdj|rJyrr)r"rs r#test_not_equals_objectz TestIndex.test_not_equals_objects )006666r%crtgd}tgd}|j|sJ|jd}|j|sJ|j|rJ|jd}|j|sJtgd}tgdd}|j|rJy)Nrfoo)rrrr)rrF) tupleize_cols)r identicalrenamer)r"i1i2i3i4s r#test_identicalzTestIndex.test_identicals ? # ? #||B YYu yy}}<<### YYu ||B 7 8 7u M<<####r%cttd}|j|sJ|j|jjjjsJ|jttdrJ|j|j rJ|j|j drJ|j|ddrJ|jt j tdrJ|j|jsJ|j}d|_|j|sJ|j|sJ|jt|jrJt j tdd}t|d}t|d}|j|rJy)N F)deepbobr rH) rris_rrHr=r>rErO)r"indind2r@ind1s r#test_is_zTestIndex.test_is_s{E"Iwws||wwsxxz(--/446777775r+,,,77388:&&&773888/000773q6?""77288E"I.///wwsxxz"""xxz wwt}}xx}}775,---hhuQ|$Su%Su%88D>!!>r%cDtgd}tddgt}d}tjt|5|j |ddddtjt tjt|5|j |dddtjt tjt|5|j |dddy#1swYxYw#1swYgxYw#1swYyxYw)NrrsrVTFrJz$Cannot compare dtypes int64 and boolr.r) rrar0r1rasofrreescaperI)r"leftrightrs r# test_asof_numeric_vs_bool_raisesz*TestIndex.test_asof_numeric_vs_bool_raisessYtUm624 ]]9C 0 IIeAh  ]],BIIc%j4I J  IIe  ]],BIIc$i4H I  JJt         s#C>D #D>D DDc&tjt|t}d|ddd<||}t |D]\}}|j ||k(rJ|t |}t |D]\}}|j ||k(rJy)NrJFrtrs)r=onesrr enumeraterr )r"r( bool_index sub_indexivals r#test_booleanindexzTestIndex.test_booleanindexsWWSZt4 " 1R6*%  * /FAs$$S)Q. .. /$z*+  * /FAs$$S)Q. .. /r%cV|}|gd}|D]}|||j|k(rJy)Nr)r)r"r$r(slr s r# test_fancyzTestIndex.test_fancys; 9  *A2::a=)) )) *r%)r;rrrrrrrKc|tjur@|r>|jdk(r/|jtj j dtjg|}t|g|j}|gj|sJ|tjk(rtyperr8r^r_)r"r(rKrequestrR empty_arr empty_indexs r#test_empty_fancyzTestIndex.test_empty_fancys BHH !3 x8O    1 19R 1 S THHRu- !d5k"EKK8 Ry"";/// BHH ++MQ ?Y'11+>>> ? ?#--k: :: ? ?s DD c"tjgtj}t|g|j}|gj |sJd}t jt|5||dddy#1swYyxYw)NrJz)arrays used as indices must be of integerr.) r=r>rrrKrr0r1 IndexError)r"r( empty_farrrrs r#test_empty_fancy_raisesz!TestIndex.test_empty_fancy_raisessvXXb 3 !d5k"EKK8 Ry"";///: ]]:S 1  *    s 6BBc|}tdd}|j|}|j|}ttj||j d}t j||t j||t j||t j||t j||y)Nz 2019-01-01rrO) runionrr=appendr`r8r?r9)r"r$r( date_index first_cat second_catappendeds r#test_union_dt_as_objzTestIndex.test_union_dt_as_objs b9 KK + [[' 5**;*;C*@AB i2 j%0 ui0 uj1 z95r%cttjdtj}|j d}t|Dcgc]}|fc}}t j |||j d}tj|Dcgc] }||dk(f c}}t j ||ycc}wcc}w)NrVrJc|fSr7rxs r#z0TestIndex.test_map_with_tuples.. saTr%c||dk(fSNrrr(s r#r*z0TestIndex.test_map_with_tuples..saa[r%r) rr=arangermapr8r?r from_tuples)r"r(rdr ros r#test_map_with_tupleszTestIndex.test_map_with_tupless biil"((3>*.11$./ fh/01))*F1AqAv;*FG fh// +Gs CCcgd}tjt|gd}|jd}t j |t |y)Nrbarbazrc |dSNrrr(s r#r*z3TestIndex.test_map_with_tuples_mi..s !A$r%)rr/zipr.r8r?r)r" first_level multi_index reduced_indexs r#test_map_with_tuples_miz!TestIndex.test_map_with_tuples_misC,  ,,Si-HI #7  mU;-?@r% 2020-01-01r1 dayrcrtdgdz}|jd}tj||y)Nrrcyr,rr(s r#r*zATestIndex.test_map_tseries_indices_return_index..)r%)rr.r8r?r"r(rords r#%test_map_tseries_indices_return_indexz/TestIndex.test_map_tseries_indices_return_indexs1!r?;' h/r%cttdddd}|jd}tt j dd d}t j||d y) Nr<h)rXrWhourlyrFc|jSr7)hourr(s r#r*zGTestIndex.test_map_tseries_indices_accsr_return_index..0s !&&r%rrJTexact)r rr.rr=r-r8r?)r"r!rdros r#+test_map_tseries_indices_accsr_return_indexz5TestIndex.test_map_tseries_indices_accsr_return_index,sT" |Rc :  012W5HE fhd;r%mappercNt||Dcic]\}}|| c}}Scc}}wr7r7rOr(er s r#r*zTestIndex.7#C4F"GDAq1a4"G"G !ct||Sr7rrOr(s r#r*zTestIndex.8 &"7r%ctgd}ttjdtj}|j ||j |}t j||y)Nr2rVrJ)rr=r-rr.rOr8r?)r"rLror(rds r#test_map_dictlike_simplez"TestIndex.test_map_dictlike_simple4sP./biil"((36(//59: fh/r%cNt||Dcic]\}}|| c}}Scc}}wr7rNrOs r#r*zTestIndex.ErQrRct||Sr7rTrUs r#r*zTestIndex.FrVr%z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningcrt|trtjdn!|jstjdt j t|ddt j}|jr tg}nzt|jr|j||j}nGt|tur+|jtk7rt||j}n t|}|j!|||}t#j$||y)NzTested in test_categoricalzCannot map duplicated indexrrJ)rMr r0skip is_uniquer=r-rrrrr rK _constructorrrar.r8r?)r"r(rLrrngrords r#test_map_dictlikezTestIndex.test_map_dictlikeBs e- . KK4 5 KK5 6iiE Ar: ;;RyH ekk *))#U[[)AH %[E !ekkV&;S 4HSzH6(E23 fh/r%)r@r4)rrsr\r(rrbr4ctdtjdg}tgdj|}t j ||y)Nrbr)rsrrrr=r~r.r8r?)r"rLrords r#)test_map_with_non_function_missing_valuesz3TestIndex.test_map_with_non_function_missing_valuesas> #rvvu-.y!%%f- h/r%ctdtjdtjdg}|jdd}|dz}t j ||y)Ng?rVrtc |dzS)Nrsrr(s r#r*z1TestIndex.test_map_na_exclusion..os QUr%ignore) na_actionrsrer"r(rdros r#test_map_na_exclusionzTestIndex.test_map_na_exclusionlsJsBFFArvvq12?h?19 fh/r%ctgd}td}d|d<|j|}tgd}tj||y)Nrcy)Nblankrrr%r#r*z0TestIndex.test_map_defaultdict..ur@r%stuffr)rproro)rrr.r8r?)r"r( default_dictrdros r#test_map_defaultdictzTestIndex.test_map_defaultdictssHi "?3 ! Q<(45 fh/r%z name,expected)rr)r3Nctgd}tgd|}d}tjt|5|j |}dddj |k(sJy#1swYxYw)NrrFrzDThe behavior of array concatenation with empty entries is deprecatedr.)rr8r^r_r rE)r"rErorrrrds r#test_append_empty_preserve_namez)TestIndex.test_append_empty_preserve_name{sdRe$id+T  ' ' S A ([['F ({{h&&& ( (s A&&A/zindex, expected) )r;F)rFrFrF)rT)rT)rT)rTrF)rT)rTc"t||usJyr7)r)r"r(ros r#test_is_numericzTestIndex.test_is_numerics$)/8;;;r%) )r;T)rTrurv)rF)rF)rF)rFrw)rF)rFcL|r|jdk(r|rd}t||usJy)Nr;F)rKr )r"r(rorRs r#test_is_objectzTestIndex.test_is_objects,$ %++"9hHu%111r%c$|jyr7)_summaryr3s r# test_summaryzTestIndex.test_summarys  r%ctj}d}t|jdsVt |g}t j t|5|j}dddt|dg}|k(sJt j t|5t gjdddy#1swY]xYw#1swYyxYw)NIndex\.format is deprecated000r.r) rnowrIendswithrr8r^r_format)r"rrr( formattedros r#test_format_bugzTestIndex.test_format_bugs lln,3x  '3%LE++ME +!LLN  +E!H H( ((  ' ' S A  "I       + +   sC"CCCr)ry@@@ct|}|j|t|t}d}t j t |5|j}dddt|trdn t|}t|dt|dt|d|g}|k(sJ|d|usJy#1swYaxYw) NrJrr.NaNrrrsrV) r r rrar8r^r_rrMr}rI)r"r nulls_fixturer(rr null_reprros r#test_format_missingzTestIndex.test_format_missingsDz M"d&)-  ' ' S A ' I '' u=E3}CU aM3uQx=#eAh-KH$$$Qx=(((  ' 's B<<Copanyallc|}t||}|t|j|k(sJt|j|}t|t|k(sJyr7)rrO to_seriesr)r"rr$r(rrs r#test_logical_compatzTestIndex.test_logical_compatsg!wub!#0wu||R02222.)2.0DzT%[(((r%)r;rrrrcPt|}|ttdd}|j|}|ttdttd|z}t j |||j|d}|dd}t j ||y)Nrtrrr)rr rdropr8r?)r"r(nrdroppedros r#test_drop_by_str_labelz TestIndex.test_drop_by_str_labels JT%2,'(**T"eAh$uR|*<<= gx0**U1X&9 gx0r%keysr31ctjtd5|j|dddy#1swYyxYw)Nr.)r0r1KeyErrorr)r"r(rs r#*test_drop_by_str_label_raises_missing_keysz4TestIndex.test_drop_by_str_label_raises_missing_keyss3 ]]82 .  JJt    s 7Act|}|ttdd}|jdgz}|j |d}|ttdttd|z}t j |||j ddgd}|tt|}t j ||y)Nrtrrrierrorsr3)rr rtolistrr8r?)r"r(rrmixedrros r#$test_drop_by_str_label_errors_ignorez.TestIndex.test_drop_by_str_label_errors_ignores JT%2,'( '**U8*4eAh$uR|*<<= gx0**eU^H*=eAh( gx0r%ctgd}|jd}tddg}tj||y)NrrrsrVrrr8r?)r"r(rros r#test_drop_by_numeric_label_locz(TestIndex.test_drop_by_numeric_label_locs6i **Q-!Q= gx0r%ctgd}tjtd5|j ddgdddy#1swYyxYw)Nrrr.rVr)rr0r1rrr3s r#.test_drop_by_numeric_label_raises_missing_keysz8TestIndex.test_drop_by_numeric_label_raises_missing_keyss?i  ]]82 .  JJ1v    s AAz key,expectedrr)rVrrtcptgd}|j|d}tj||y)Nrrirr)r"r)ror(rs r#(test_drop_by_numeric_label_errors_ignorez2TestIndex.test_drop_by_numeric_label_errors_ignores0i **S*2 gx0r%)rrrr)rrr)rrrto_droprc@t|}tdgt}|j|}tj|||j|d}|d|dgfD])}|j|}tj||+|j|d}dt j |djd}|d|dgfD]7}tjt|5|j|ddd9y#1swYDxYw)NrrJrrz\"\[z\] not found in axis\"r.) rrarr8r?rr__repr__r0r1r) r"rOrr(rordremoveddrop_mers r#test_drop_tuplezTestIndex.test_drop_tuplesf #f-G$ fh/**WQZ(qzGAJ</ 4G\\'*F  ! !&( 3 4**WQZ(bii 3 3 5677MNqzGAJ</ &Gxs3 & W% & & & & &s 7DD c\t|dk(st|trtjdt|t rt stjd|jjd}|dd}|j|d}tj||y)Nrz,Test doesn't make sense for empty MultiIndexz=Cannot test IntervalIndex with int64 dtype on 32 bit platformrs) rrMrr0r]rruniquerepeatrr8r?rAs r#"test_drop_with_duplicates_in_indexz,TestIndex.test_drop_with_duplicates_in_index4s u:?j ; KKF G e] +D KKW X %%a(9E!H% fh/r%is_monotonic_increasingis_monotonic_decreasing!_is_strictly_monotonic_increasing!_is_strictly_monotonic_decreasingc`tdtjdg}t||rJy)Nrt)rrrr)r"rr(s r#test_is_monotonic_incomparablez(TestIndex.test_is_monotonic_incomparable@s.q(,,.!,-5$''''r%)rr3quux>r3rrindex,expected)quxr4rr3FFTTrJcR|j|}tj||yr7)isinr8rQ)r"rOr(rords r# test_isinzTestIndex.test_isinMs"F# ##FH5r%ctd|g}t|trvt|trftj|rQtj|rrK)r"rnulls_fixture2rRidxs r#test_isin_nan_common_objectz%TestIndex.test_isin_nan_common_objectYs S-() }e ,>51 =) >*  ' '.)*%'  n ,  ' '.)*%'   CII$9  ' '.)*%'   ' '.)*%( r%c|}|tjus|tjurdtt |j }t jt|5td|g|dddtdtjg|}|j|gjrJytd|g|}|jtjg}tj|tj ddg|jtjg}tj|tj ddgy#1swYxYw)Nz=float\(\) argument must be a string or a (real )?number, not r.?rJFT)rPNaTNAreprr__name__r0r1rrr=r~rrr8rQr>)r"rfloat_numpy_dtyperKrrress r#test_isin_nan_common_float64z&TestIndex.test_isin_nan_common_float64~s"! BFF "mruu&<D/889:< y4 9sM*%8 9bff U3Cxx0446 66 S-(6hhx  ##C5$-)@Ahhx  ##C5%.)AB 9 9s #E!!E*levelrr\)rrbrrc |jdddgz}tjgd}tj||j ||d|_tj||j |dy)N nonexistingrrr)rr=r>r8rQrrE)r"rr(rOros r#test_isin_level_kwargzTestIndex.test_isin_level_kwargsm$ 68867 ##Hejjuj.MN  ##Hejjxj.PQr%cd|j|jdz fD]9}tjtd5|j g|ddd;y#1swYFxYw)NrrzToo many levelsr.r)nlevelsr0r1rr)r"r(rs r#&test_isin_level_kwarg_bad_level_raisesz0TestIndex.test_isin_level_kwarg_bad_level_raisessa%--5==1+<)=> ,Ez1BC , 2U + , , , , ,s AA$ labelrrxyzzyc,t|tr*|jddg|jddz}d|d}n|jd}d|d}t j t |5|jg| dddy#1swYyxYw) Nrr3rsz'Level z not found'zRequested level \(z$\) does not match index name \(foo\)r.r)rMrrnamesr0r1rr)r"rr(rs r#&test_isin_level_kwarg_bad_label_raisesz0TestIndex.test_isin_level_kwarg_bad_label_raisess eZ (LL%%++ab/!ABEE7+.CLL'E'w.RSC ]]83 / ( JJrJ ' ( ( (s -B  Bctddg}tjddg}|j|}t j ||y)NrrF)rr=r>rr8rQ)r"rr(rords r#test_isin_emptyzTestIndex.test_isin_emptysBsCj!88UEN+E" ##Hf5r%ctddg|}|jdg}tjddg}t j ||y)NrrrJF)rrr=r>r8rQ)r"string_dtype_no_objectr(rdros r#test_isin_string_nullzTestIndex.test_isin_string_nullsEsCj(>?TF#88UEN+ ##FH5r%rrsrVrTTTT)rr3r4rz 2018-01-01ct|}||k(}tjgdt}t j ||y)NrrJ)rr=r>rr8rQ)r"rOr(rdros r#test_boolean_cmpzTestIndex.test_boolean_cmps7f &884DA ##FH5r%z name,levelr6rc|j}|r||_|j|}tj||yr7)rHrEget_level_valuesr8r?)r"r(rErrords r#test_get_level_valueszTestIndex.test_get_level_valuess9::<  HM**51 fh/r%c^tddgd}|j|ddjk(sJy)NrrasdfrFrrrEr3s r#test_slice_keep_namezTestIndex.test_slice_keep_names.sCjv.zzU12Y^^+++r%)r;rrrrrrrc|j||}|}|dk(r|j}tj||y)Nhowouter)join sort_valuesr8r?)r"r( join_typerdros r#test_join_selfzTestIndex.test_join_selfsAEy1  ++-H fh/r%method)striprstriplstripc tgd}t|jDcgc]}tt||c}}t|j|}t j ||ycc}w)N)z jackzjill z jesse frank)rrOrrIr8r?)r"rr(r)rords r#test_str_attributezTestIndex.test_str_attributesb<=5<<Ha.'#v.q1HI+F+- fh/IsA7rt)rr)r3320002010Y)startendrWctjtd5|jj ddddy#1swYyxYw)Nzonly use .str accessorr.rs)r0r1AttributeErrorrIrr3s r#test_str_attribute_raisesz#TestIndex.test_str_attribute_raisess:]]>1I J II  Q    s AA zexpand,expectedNrrPfctgd}||jj|}n|jj}tj||y)N)za b czd er )expand)rrIsplitr8r?)r"r ror(rds r#test_str_splitzTestIndex.test_str_splitsI+,  YY__F_3FYY__&F fh/r%ctgd}|jjd}tjgd}t j ||t|tjsJy)Na1a2b1b2r)TTFF) rrI startswithr=r>r8rQrMndarrayrks r#test_str_bool_returnzTestIndex.test_str_bool_return(sT./%%c*8867 ##FH5&"**---r%ctgd}ttd|}||jjj d}ttdddg}t j||y)Nrrrcrrsrr)rrrr(rIrr8rx)r"r(rprdros r#test_str_bool_series_indexingz'TestIndex.test_str_bool_series_indexing1s^./ 585 )177;;))#./%(4,7 vx0r%abcdc,dt|v}||k(sJy)NrI)dirrAs r#test_tab_completionzTestIndex.test_tab_completion9s #e*$!!!r%ctgd}|ddjtddgtjsJ|ddgjtddgtjsJy)N)rrsrVrrrrrVrsrJr)rrr=rcr3s r#!test_indexing_doesnt_change_classz+TestIndex.test_indexing_doesnt_change_classAsa./Qqz##E1a& $CDDDaV}&&uaV2::'FGGGr%cttjjdj d}t dd}t jt5|j|d}dddt jt5|jtj|jt}dddt jy#1swYyxYw#1swY,xYw)Nrsr<rrrr)rr=rvrw permutationrr8r^RuntimeWarningrr`rarr?)r" left_index right_indexrdros r#test_outer_join_sortzTestIndex.test_outer_join_sortGs299003??CD  r:  ' ' 7 ?__[g_>F ? ' ' 7 S!((066{7I7I&7QRH S fh/  ? ? S SsC*8C6*C36C?c(ttdd}|jtjgd}ttdd}t j |||jtjgdd}tdd tjgd}t j |||jtjgdd d }tgd d}t j ||y) NABCxxxrF)rrr\BACT fill_valuerrF) allow_fillr,)rrr)rr taker=r>r8r?r~rks r#test_take_fill_valuezTestIndex.test_take_fill_valueSsd5k.BHHZ01e51 fh/BHHZ0TB#sBFF+%8 fh/BHHZ0UtTu5 fh/r%cttdd}d}tjt|5|j t jgdddddtjt|5|j t jgd ddddy#1swYVxYw#1swYyxYw) Nr(r)rFzJWhen allow_fill=True and fill_value is not None, all indices must be >= -1r.)rrrTr+)rr)rr r0r1r2r.r=r>rs r# test_take_fill_value_none_raisesz*TestIndex.test_take_fill_value_none_raisesdsd5k. ( ]]:S 1 > JJrxx +J = > ]]:S 1 > JJrxx +J = > > > > > >s)B2)B>2B;>Ccttdd}tjtd5|j t jddgdddy#1swYyxYw)Nr(r)rFz out of boundsr.rr1)rr r0r1rr.r=r>r3s r#test_take_bad_bounds_raisesz%TestIndex.test_take_bad_bounds_raisespsNd5k. ]]:_ = * JJrxxB( ) * * *s 'A""A+rElabelsrrr)rrr20130101crtgd}||_|j|dj|k(sJy)N)rrrsr)rrEreindex)r"rEr5r(s r#8test_reindex_preserves_name_if_target_is_list_or_ndarrayzBTestIndex.test_reindex_preserves_name_if_target_is_list_or_ndarrayus7"i  }}V$Q',,444r%cttd}|j|djj|jjk(sJyNrDrrr r9rKr)r"r5r(s r#r8assert_dict_equalrks r# test_groupbyzTestIndex.test_groupbysMeAhrxx89aV}y)9: VX.r%z mi,expectedrJrrt)rc tddgdgtjddgddggdd g  }|j|k(}t j ||y) NrVrOrrrrsrtrrrcolumnsr()r r from_arraysr(r8rQ)r"mirorzrds r#test_equals_op_multiindexz#TestIndex.test_equals_op_multiindexsZ FE((1a&1a&)9#sL  R ##FH5r%c tddgdgtjddgddggdd g  }|j|jk(}t j d d g}t j||y) NrVrOrrrrsrtrrrQrRT)r rrTr(r=r>r8rQ)r"rzrdros r#"test_equals_op_multiindex_identifyz,TestIndex.test_equals_op_multiindex_identifyso  FE((1a&1a&)9#sL  RXX%88T4L) ##FH5r%rJrN) r2c tddgdgtjddgddggdd g  }tjt d 5|j |k(dddy#1swYyxYw)NrVrOrrrrsrtrrrQrRzLengths must matchr.)r rrTr0r1r2r()r"r(rzs r#+test_equals_op_mismatched_multiindex_raisesz5TestIndex.test_equals_op_mismatched_multiindex_raisessm FE((1a&1a&)9#sL  ]]:-A B  HH    s A##A,ctjgd}tgd}||k(}tjgd}t j ||y)NrYr2)FFF)rr/rr=r>r8rQ)r"rRrUr(rdros r#&test_equals_op_index_vs_mi_same_lengthz0TestIndex.test_equals_op_index_vs_mi_same_lengthsF  # #$< =+,u8812 ##FH5r%z dt_conv, arg 2000-01-01 2000-01-02z01:02:03z01:02:04c`t|d}|j||jk(sJy)NrrFr)r"dt_convrr(s r#!test_dt_conversion_preserves_namez+TestIndex.test_dt_conversion_preserves_names,c(zzWU^00000r%ctgd}tjtd5d|_dddy#1swYyxYw)NrzCan't set attributer.F)rr0r1rr^r3s r##test_cached_properties_not_settablez-TestIndex.test_cached_properties_not_settables7i  ]]>1F G $#EO $ $ $s :Ac@tjddddlm}d}|j |t j dd5|d 5t|jjd d ddddddy#1swYxYw#1swYyxYw) NIPythonz6.0.0) minversionr)provisionalcompleterz+import pandas as pd; idx = pd.Index([1, 2])F)raise_on_extra_warningsrizidx.r) r0 importorskipIPython.core.completerrjrun_cellr8r^r Completer completions)r"iprjcodes r#test_tab_complete_warningz#TestIndex.test_tab_complete_warningsI':?< D ' 'e L :%h/ :R\\--fa89 : : : : : : :s$ B&B7BB BBct|tr|jdydt|jd}t j t|5|jddddy#1swYyxYw)Nr'z$' object has no attribute 'contains'r.)rMrcontainsrrr0r1rrs r#test_contains_method_removedz&TestIndex.test_contains_method_removedsa e] + NN1 d5k**++OPC~S9 "q! " " "s A22A;ctgd}tjtd5|j ddddtjtd5|j ddgdddtjtd5|j dgdddtgd }|j dg}t j |d |tgd }|j d}t j |d |tgd}|j d }t j |d |y#1swY#xYw#1swYxYw#1swYxYw) N)rtrrVrsrz(ascending must be a single bool value orr.True) ascendingz3ascending must be a list of bool values of length 1Tzascending must be a bool valuerrF)rr0r1 Exception sortlevelr8r?rAs r#test_sortlevelzTestIndex.test_sortlevels?o& ]]9,V W . OOfO - .]] R  4 OOtTlO 3 4 ]]9,L M 0 OOvhO / 0)D62 fQi2)40 fQi2)51 fQi2+ . . 4 4  0 0s#EE*E6E'*E36E?ctdtjg}|jdd}ttjdg}t j ||y)Nrfirst) na_positionr)rr=r~r|r8r?r"rrdros r#test_sortlevel_na_positionz$TestIndex.test_sortlevel_na_position3sKQK 73A6"&&!% fh/r%zperiods, expected_resultsrctgd}|j|}t|}tj||y)N)rrr(r\)rdiffr8r?)r"rXexpected_resultsrrdros r#test_index_diffzTestIndex.test_index_diff:s8()'")* fh/r%zdecimals, expected_resultsrrbr)g333333?gffffff@g @)gGz?g@gGz @ctgd}|j|}t|}tj||y)N)gX9v?g(\@gS @)rroundr8r?)r"decimalsrrrdros r#test_index_roundzTestIndex.test_index_roundJs8)*8$)* fh/r%)r __module__ __qualname__r0fixturerr$r*r parametrizer4r:rBrSrrrrerhrqr{rr=rr~r rPrrrrrriterr rrrrrrparamrrrrrrrrr rrrrrr%r0r;rBrKrXfilterwarningsrarrfrlrrrtryr{r~rrrrrrrrrrrrr>rrrrrrrrarrrrrrrrr/r rrrr rrr&r/r2r4rOrr:rr> datetime64r@rCrErHrMrVrXr]r_rm to_timedeltardrfrsrwr}rrrrr%r#rr-s9 ^^$e$$G  [[WzlTBC- [[Wxj4@0A0 3 [[]T5M: [[ "'   )Q ? H3 : C ; 3; 3( [[-C|T XC ;U C ,S! 971r [[Vh%78 [[Wun&=> -?9 - [[Wr48__&EF [[      G  [[ # & 4 b ,k : Rs 3[ A Q  , A8R I: V     [[ !$%$ [[  FLLfkk.?.?z.?.R S       !  ! [[# '  'E [[Sz"E/$:OL77$$".  [[Wxj4@ /A /*  [[N  [[WsBHHo6 ;7  ; [[N    60 A [[ |#r : C < GR 0 00 < [[ G 7 00 [[ G 7  [[ VW0X0. [[ #: 6Ecu8UV0 000 [[_~}.MN'O' [[ "<#"< [[ "2#"2 $ [[V&:O%LM)N)  [[TE5>2)3) [[Cd 1 1 [[Cd [[VuensEl%CDE [[Cd 1 11  [[!U9-.E1a&M0JK11  [[ !79OP [[Y*c):S*@V'WX [[ / 0("((;U2V W 2Y40 1 6Y6#JC2 [[Wq"g. [[ . / &bjj 9 R/R,  [[WsHgrvv&FG(H( [[Wr6+?"&NO6P66 [[  $ ( |#q 9   6 6 [[Wxj4@ [[\Iz+BC0DA0, [[  0 0 [[X'DE0F0 [[ %(O |R 0 "J " "L,#? @ v6 <     [[ 5/C:u=> ? E?S#J>? @& &&$sC&83:OP   0 0.1 [[E$v,/6uQx%8PQ"" H 00" >*  [[VdH%56 [[  BHHRL   BHH_ % BHH_ % z1 - 4 4 z1 - 4 4 6  5 75  [[XHBHHRL("((2RXX:V'WXGYG  [[ 2  .  <  < 790/ [[ #Z # #VV$4 5xrxxt 7M N #Z # #VV$4 5xrxxu 7N O  6 6 6 [[ "J " "#; < ' ( 6 [[ ^^lL9 : __z:6 7 11 $ :"320 [[# RR( ) R, - R0 1 00 [[$   " # 00r%rceZdZejdefdZdZdZdZ dZ dZ dZ ejjd d d gejjd d edgejjdgdgdfgdgdfddej"dggdfgdgdfdej"ddggdfgdZejjd d d gejjdegdegdfedddej*gegdfegdegdfeej*d d!d"ej*gegdfegd#d$%egd#d$%fegd&d$%egd#d$%fgd'Zd(Zejjd)eej"geej"d*ged*d+ej"ged,d-ej"gej4d.gej4d.d/gej4gd0ej6d1d.ggd2Zejjd gd3ejjd4d5d6gd7Zd8Zd9ZejjAd:d;Z!y )<TestMixedIntIndexrctgdS)N)rrrrrsrrr!s r#r$zTestMixedIntIndex.simple_index_s-..r%c|}tjtd5|jdddy#1swYyxYwNz'>|<' not supportedr.)r0r1rargsortr"r$r(s r# test_argsortzTestMixedIntIndex.test_argsortcs4 ]]9,A B  MMO   s 8Ac|}tjtd5tj|dddy#1swYyxYwr)r0r1rr=rrs r#test_numpy_argsortz$TestMixedIntIndex.test_numpy_argsorths7 ]]9,A B  JJu    s =AcL|}t||dd}t||d}||usJtj|||jdk(sJ|jdk(sJt d|}t d|dd }||z}|j jdk(sJy) NTmariorGFrrsrcrVr\)rr8r?rErr()r"r$r(rseconds1s2s3s r#test_copy_namez TestMixedIntIndex.test_copy_namemsU E7;eU/F""" eV,zzW$$${{g%%% AU # AVCR[ ) "Wxx}}'''r%ctddgd}|j}tj|||jd}tj||d|jdk(sJ|jdk(sJy)NrrsMyNamerFNewNameF) check_names)rrHr8r?rE)r"r(index1index2s r#test_copy_name2z!TestMixedIntIndex.test_copy_name2suq!f8, eV,+ eV?zzX%%%{{i'''r%ctdtjddgd}tdtjdgd}|j}t j ||y)Nrsrmy_indexrF)rr=r~rr8r?)r"rrords r#test_unique_naz TestMixedIntIndex.test_unique_nasLQ1%J7!RVVQj9 fh/r%c|}|j|jjk(sJ|j|jjk(sJyr7)rrOrrs r#rz%TestMixedIntIndex.test_logical_compatsIyy{ell..0000yy{ell..0000r%rrrrKNcategoryz vals,expectedrrrrbrr6rrrct||}|j|}t||}tj||y)NrJr)rdropnar8r?)r"rrKrror(rds r# test_dropnazTestMixedIntIndex.test_dropnas<d%(#&/ fh/r%r)r 2011-01-02 2011-01-03rrr)rZ2 days3 daysrZrr)2012-022012-042012-05Mrl)rrrrcT|j|}tj||y)Nr)rr8r?)r"rr(rords r#test_dropna_dt_likez%TestMixedIntIndex.test_dropna_dt_likes$>#& fh/r%cd}tjt|5tgdj ddddy#1swYyxYw)Nzinvalid how option: xxxr.rr)r)r0r1r2rr)r"rs r#test_dropna_invalid_how_raisesz0TestMixedIntIndex.test_dropna_invalid_how_raisess@' ]]:S 1 / )  # # # . / / /s AAr(rrsrrrr`)r`rrar=c|jdusJ|jdusJ|jdusJ|jdusJyNFrr3s r#test_is_monotonic_naz&TestMixedIntIndex.test_is_monotonic_nasT,,555,,55566%???66%???r%)f8zm8[ns]zM8[us] unique_firstTFctgd|}|r1|jdusJ|jdusJ|jdusJy|jdusJ|jdusJ|jdusJy)N)NrrrJF)rr^rr)r"rKrr(s r#test_is_monotonic_unique_naz-TestMixedIntIndex.test_is_monotonic_unique_nasl%0 ??e+ ++00E9 9900E9 9900E9 9900E9 99??e+ ++r%cxtgdd}|ttd|}dt|vsJy)NrrrFrVrc0)rr rr)r"frame_or_seriesr(rds r#test_int_name_formatz&TestMixedIntIndex.test_int_name_formats4oA. eAhu=d6l"""r%cttdDcgc] }t|c}}d}tjt |5t |dddycc}w#1swYyxYw)Nrz2^'str' object cannot be interpreted as an integer$r.)rrrIr0r1rbytes)r"r)r(rs r#test_str_to_bytes_raisesz*TestMixedIntIndex.test_str_to_bytes_raisessXuRy1!s1v12B ]]9C 0  %L  2  sA A##A,z2ignore:elementwise comparison failed:FutureWarningctgd}|dk(}tjgd}tj||y)N)r)rrrrr)FFT)rr=r>r8rQrs r#test_index_with_tuple_boolz,TestMixedIntIndex.test_index_with_tuple_bools8 89 "8801 ##FH5r%)"rrrr0rrr$rrrrrrrrrar=r~rr rPrrrrrrmrrrrrrrrr%r#rr[s ^^/e//  (, (0 1  [[UUEN3 [[WtVZ&@A [[  " o .3 $o 6 o .2663 $o 6   0 B40 [[UUEN3 [[HIHI  |\<PQHI  =>=>  (HbffMN=>  =CH=CH  D3O=CH + :0;4<0/  [[ 266(O 2661+  1a. ! 3RVV$ % BNNE7 # BNNE<0 1 BNN> ? BOOWe, -  @ @  [[W&@A [[^dE]; ,<B ,#  [[ TU6V6r%rc eZdZejj dgdgdegdfgdgdgegddfddgddggdedgddggd d gd d ggfddgddggd d gedgddggd d gd d ggd d g fgdZdZ dZ dZ y)TestIndexUtilszdata, names, expectedrNrErFrrrrrL1L2rQcHt||}tj||yr7)rr8r?)r"rrrords r# test_ensure_index_from_sequencesz/TestIndexUtils.test_ensure_index_from_sequencess $-T59 fh/r%c$tjdddtjdddtjdddtjdd d g}t|}t|t }t j ||y) Nrrr)closedrsrrVneitherrbothrJ)rPIntervalrrrar8r?)r" intervalsrdros r#(test_ensure_index_mixed_closed_intervalsz7TestIndexUtils.test_ensure_index_mixed_closed_intervals#ss KK1V , KK1W - KK1Y / KK1V ,  i(&1 fh/r%cdtjtjjg}t |}t ||k(sJt |d}tj||y)NrrrJ) r=iinformaxrr rr8r?)r"rOrdros r#test_ensure_index_uint64z'TestIndexUtils.test_ensure_index_uint64/sYRXXbii(,,-f%F|v%%%x0 fh/r%c\tg}tg}tj||yr7)rrr8r?)r"rdros r#test_get_combined_indexz&TestIndexUtils.test_get_combined_index;s%$R(9 fh/r%) rrrr0rrrrrrrrrr%r#rr s [[[$i 0 1[6(E)&$A Bsc3Z(SEC:.!Q!Q0@A  sc3Z(t SEC:.!Q!Q0@t U  "0#"0 0 00r%ropname)eqneleltgegtaddraddsubrsubmulrmultruedivrtruedivfloordiv rfloordivpowrpowmoddivmodcJd|d}t||}|j|k(sJy)N__)rr)rr(rs r#test_generated_op_namesrAs/4&_F UF #F ??f $$ $r%rr)rr<r=r)rrKrcvtjtd5|ddddy#1swYyxYw)Nzunexpected keyword argumentr.r3)r)r0r1r)rs r#,test_index_subclass_constructor_wrong_kwargsr`s0 y(E F %r5cdd}tjt|5tt j ddgt dddddtjt|5tt j gd d dddddtjt|5td d d dddddtjt|5tgddddddy#1swYxYw#1swY~xYw#1swYVxYw#1swYyxYw)Nz[Uu]nexpected keyword argumentr.rrrJtestT)rEfastpathrrrrtrsr) r0r1rrr=r>rarr )rs r#test_deprecated_fastpathrss *C y ,N bhhSz0vMN y ,N bhhy0vMN y ,81a$78 y ,FvEFFNNNN88FFs/*D+&D4D(D&D DD#&D/ctgd}tjtd5|dddfdddy#1swYyxYw)N)rrrsrVr-r.)rr0r1r2)rs r#test_shape_of_invalid_indexrs=  C z)E F AtG s <ArKcLd}tjdjddd}tjt |5t ||dddt|jdd}tjt |5t ||dddtdtd}tjt |5tjddggdz||_ dddy#1swYxYw#1swYqxYw#1swYyxYw) Nz Index data must be 1-dimensionalrZrsr.rJrrrV) r=r-reshaper0r1r2rr rrr>r()rKrr@rzsers r#test_validate_1d_inputr s -C ))A,  q!Q 'C z -  c  3;;q!$ %B z - b E!H C z -8HHq!fX\7 88   88s$DD#DD DD#zklass, extra_kwargsct|S)NrJr)r)dtyps r#r*r*sU1D)r%rWrc|ttjddfi|}|tt ddfi|}t j ||dy)NiiTrI) memoryviewr=r-r rr8r?)r extra_kwargsrdros r#test_construct_from_memoryviewrsP:biid34 E EFT%d+,= =H&($7r%rcttjg}tjdg}|||}t j |||||j }t j ||yr)rr=r~r>r8rQrH)rrrords r#test_nan_comparison_same_objectrs` /Cxx H S\F1 SXXZ F1r%pyarrowc ddl}tdgddggtj|j |j }|j rJ|jrJy)NrrrsrVrJ)rrrP ArrowDtypelist_rrr)pars r##test_is_monotonic_pyarrow_list_typersV !q!f R]]288BHHJ3G%H IC*** **** **r%)D collectionsrr functoolsrroperatorrnumpyr=r0 pandas.compatr pandas.errorsrpandas.util._test_decoratorsutil_test_decoratorstdpandas.core.dtypes.commonrr r pandasrPr r r rrrrrrrrpandas._testing_testingr8pandas.core.indexes.apirrrrrrrrrrrrrrarrrrrrr ALL_REAL_NUMPY_DTYPESrrrr skip_if_nor)r spr#r+sm#   +))     k0k0\)o6o6d1010h 2%32%   s+ \N3 <.1gY/ q* [R[[A%6$78SE0 A3qc2    F 4299bjj"IJ8K8$  ;=;S;S T4 )2 . T    vsm$  8 8 X[[9: 2; 2y++7 Us9H4