'Vfi/zddlZddlZddlZddlZddlmZmZmZddl m Z GddZ GddZ dS)N) DataFrame MultiIndexSeriesceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zejd dd gdZdZdZdZdZdS)TestMultiLevelcd|}|d}||jd}|dd}t j|||d|jd}|ddd}t j||dd}t jt| 5|j dd }dddn #1swxYwY|}||jd }|ddj }t j||dS) NmonthlevelsumAF check_names+DataFrame.groupby with axis=1 is deprecatedmatchaxis)columnsr ) groupbyr reindexindex transformtmassert_frame_equalassert_series_equalassert_produces_warning FutureWarningT)self/multiindex_year_month_day_dataframe_random_dataymd month_sumsresultexpectedmsggbs Kc:\PYTHON\DbComparer\venv\Lib\site-packages\pandas/tests/test_multilevel.pytest_reindex_levelz!TestMultiLevel.test_reindex_levels=[[))--// ##CIQ#77;;W;--77>> fh///C((!(<<s8##'#22<>@ fh/////s D22D69D6cp|}|jddg}|jddg}tj||dS)Nrfooonebarr/)iloclocrr)r! multiindex_dataframe_random_dataframer& reindexeds r) test_reindexzTestMultiLevel.test_reindex)sA0:q!f%I~~>?  i22222c|}|jddd}||}|r|j|sJn |j|usJ|j|}|j|sJ|j}||}|r|j|sJn |j|usJ|jdd|f}|j|sJdS)N r)rris_r3equalsr r)r!r"using_copy_on_writer# new_indexchunkymdTs r)test_reindex_preserve_levelsz+TestMultiLevel.test_reindex_preserve_levels0s>IdddO  I&&  ,;??9-- - -- -;)++++ "{!!),,,,,u Y //  .=$$Y// / // /=I----I&}##I.......r8c6|}|d}|jd}||d}|d}|d}||j}t j||ddS)NrrF) group_keysc |dzSNxs r)z7TestMultiLevel.test_groupby_transform..Qs !a%r8c |dzSrFrHrIs r)rKz7TestMultiLevel.test_groupby_transform..Rs q1ur8r)rget_level_valuesrapplyrrrr) r!r4r5sgroupergroupedappliedr&r%s r)test_groupby_transformz%TestMultiLevel.test_groupby_transformIs0 #J'**1--))G)66--00$$__5500 vxUCCCCCCr8ctdgdgdggdgdgdgggd}ttjddggd | }|d dS) Nr.r1bazr)r/twothreelevelscodesnamesrGabcd)rrrWr )rrnprandom default_rngr)r!midxdfs r)test_groupby_cornerz"TestMultiLevel.test_groupby_cornerVsGeWug.3aS/)))     Y " "1 % % , ,Q / / 0(((     !!!!!r8ctjgd}tgdgdg|}|d|jd}d}t jt| 5| dd }dddn #1swxYwY| }|jd d gk sJdS)N))f1s1)ris2)f2rj)rlrk)f3rj)rmrk)r rGr,r\) r: r;r rc|ddvS)Nr)rlrmrH)us r)rKz:TestMultiLevel.test_groupby_level_no_obs..qsadl6Jr8rrrrr rlrm) r from_tuplesrr3rmaprrrrr all)r!rerfdf1r'rQr%s r)test_groupby_level_no_obsz(TestMultiLevel.test_groupby_level_no_obsds-%      ***,A,A,ABD Q Q Qff!fnnRZ^^,J,JKKL;  ' S A A A 3 3kkqk22G 3 3 3 3 3 3 3 3 3 3 3 3 3 3 34,.335555555sB$$B(+B(c|}|ddj}|d|d<t|jtsJ|d|dksJdS)Nrn)r rp)r~r r:)r isinstancerrrz)r!r"r#rfs r).test_setitem_with_expansion_multiindex_columnsz=TestMultiLevel.test_setitem_with_expansion_multiindex_columnsysh> !WYZ.;"*j11111;2j>1668888888r8cVtgdtjgd}tgdtjgd}||z }|j|j}||||z }t j|||ddd|dddz }|j|j}||||z }t j||dS)N)r rGr,))rr )rrGBr,datar)r\rnro))Zr )rrGr)rrrxrunionrrr)r!rJyres exp_indexexps r)test_alignmentzTestMultiLevel.test_alignments' *"89W9W9W"X"X    *"89W9W9W"X"X   !eGMM!'** ii ""QYYy%9%99 sC((("g$$B$GMM!'** ii ""QYYy%9%99 sC(((((r8c,|}|ddg}|jd}|jd}|||g}t j||d|jj|jjddksJ||jjdd}t j||dS)Nrr r FrrG)rmeanrrMrrr[)r!r"r#r%k1k2r&result2s r)test_groupby_multilevelz&TestMultiLevel.test_groupby_multilevels=Aq6**//11 Y ' ' * * Y ' ' * *;;Bx((--// fhEBBBB|!SY_RaR%88888++CIOBQB$7+88==?? fg.....r8ctjgd}ttjdd||}|d|d<|}dS)N)r-)r.rVr0)r1rVrG)r\r\)rrr )Totals) rrxrrbrcrdstandard_normalr _consolidate)r!rrfs r)test_multilevel_consolidatez*TestMultiLevel.test_multilevel_consolidates& L L L   I ! !! $ $ 4 4V < *((>**!9!11!44 fh/// gx00000s# D88D<?D<c|}|ddgd}|jgd}tj|||jddgdd}tj||j|jddg}tj|||djddg}tj||d|jjddddgf}tj||jdS) Nr.rrr )rr rGrprqrrr rwr)rr2rrr r3r)r!r4r5r%r&s r)$test_reindex_level_partial_selectionz3TestMultiLevel.test_reindex_level_partial_selections0u~Q77:0001 fh///%aqAA fhj111E5>* fh///s/ vx}555QQQ./ fhj11111r8rar\cgd}tdgdgdg|gd}||jdk|}|j}t dgdgdgggggggd}t j||dS)N)r^r_r`r rGr,r]rX)rr^rfirstrrrassert_index_equal)r!rarDrfgr%r&s r)+test_empty_frame_groupby_dtypes_consistencyz:TestMultiLevel.test_empty_frame_groupby_dtypes_consistencys%__ aSs!A3?? @ @ rtqyM ! !* - -C!qc?2r2,ooo    fh/////r8cgd}gd}tj|ddg}t||}||j}t |dksJdS)N))60080920061231r20070331)r20070630r)demorrrSTK_IDRPT_Date)r[rr,)rrxrrrrlen)r!idx_tpdtidxrOr%s r)test_duplicate_groupby_issuesz,TestMultiLevel.test_duplicate_groupby_issuess    . - -$VHj3IJJJ 2S ! ! !17##))++6{{ar8cddgg}ddtjfdg}t|tj|}|jjj}|jjj}tj ||dS)NrJr r^r_)r^r`r;) rbnanrrrxdtypesr^r_rr)r!rrrfr&r%s r)test_subsets_multiindex_dtypez,TestMultiLevel.test_subsets_multiindex_dtypeslazbf%7 tZ%;G%D%D E E E9;= vx00000r8c  dtjdddfddddtjdddfdd ddtjdddfdd ddtjdddfdd di}tj|d }gdgdd}gdtjdddtjdddtjdddtjdddgg}t||}t j||dS)Nrir,r r:)rrr\rGrsrt r)orient)r rGr,r\)r:rsrtr)rrr r r)datetimedater from_dictrr)r!data_dicr%rrr&s r)test_datetime_object_multiindexz.TestMultiLevel.test_datetime_object_multiindexs<  dAq)) *!",=,=  dAq)) *!",=,=  dAq)) *!",=,=  dAq)) *!",=,=   $Xg>>>!\\(8(8(899 LL dAq)) dAq)) dAq)) dAq))   $e444 fh/////r8c Vtdtjddggdgdggddd g}d |jd <tdtjddggdgddd tjd gggddd g}t j||dS) NrGz?= ףp=@)rGrr)rDg= ףp#@gGz%@)pivot_0pivot_1col_1col_2r;rrr))rFrr)rrbr set_indexatrr)r!rfr&s r)test_multiindex_with_naz&TestMultiLevel.test_multiindex_with_na1s bfdD)&&&'''  =<<     )Y * + + &)!"bfdD)&&&'''c263'   =<<    )Y * + +  b(+++++r8N)__name__ __module__ __qualname__r*r7rBrSrgr|rrrrrrrmark parametrizerrrrrrHr8r)rrs:0002333///2 D D D " " "666*999)))(///".1.1.1`222& [S1c(++ 0 0,+ 0    111000,,,,,,r8rceZdZdZdZdS) TestSortedz+everything you wanted to test about sortingctgdgdggdgdg}tdtt|i|d}|jjdusJ|}|jjd usJtdgd itjgd d}|jtj d d ddfddf}tj ||dS)N)rrC)r`r_r^)rr rGrr rG)rrGr r rrGcolint64)rdtypeFT)r r\rnrG))rr^)rr`)rr^)rr_rrr^r`) rrrangerris_monotonic_increasing sort_indexrxr3pd IndexSlicerr)r!rrfsortedr&r%s r)test_sort_non_lexsortedz"TestSorted.test_sort_non_lexsortedMs __ooo .1C1C1CEWEWEW0X  uSXX/s' J J Jx/58888|3t;;;; LLL !(@@@    BM#c'3s7*:;QQQ>? fh/////r8N)rrr__doc__rrHr8r)rrJs)5500000r8r)rnumpyrbrpandasrrrrpandas._testing_testingrrrrHr8r)rs  x,x,x,x,x,x,x,x,v 0000000000r8