gL i/lddlZddlZddlZddlZddlmZmZmZddl m Z GddZ GddZ y)N) DataFrame MultiIndexSeriesceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zej j#d dd gdZdZdZdZdZy)TestMultiLevelc |}|jdj}|j|jd}|jdj d}t j |||dj|jd}|djdj d}t j||dd}t jt| 5|jjdd }dddj}|j|jd }|jdj dj}t j ||y#1swYxxYw) 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 b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/test_multilevel.pytest_reindex_levelz!TestMultiLevel.test_reindex_levelsN=[[)--/ ##CIIQ#7;;W;-77> fh/C((!(<s8##'#2<@@ fh/  0 0s /FF cx|}|jddg}|jddg}tj||y)Nrfooonebarr/)iloclocrr)r! multiindex_dataframe_random_dataframer& reindexeds r) test_reindexzTestMultiLevel.test_reindex)s<0::q!f%II~~>?  i2c|}|jddd}|j|}|r|jj|sJ|j|usJ|j|}|jj |sJ|j }|j|}|r|j j|sJ|j |usJ|jdd|f}|j j |sJy)N r)rris_r3equalsr r)r!r"using_copy_on_writer# new_indexchunkymdTs r)test_reindex_preserve_levelsz+TestMultiLevel.test_reindex_preserve_levels0s>IIddO  I& ;;??9- --;;)+ ++ "{{!!),,,uu Y / ==$$Y/ //==I- --I&}}##I...r8c|}|d}|jjd}|j|d}|jd}|j d}|j |j}t j||dy)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_transformIsx0 #J''**1-))G)6--0$$_50 vxUCr8ctdgdgdggdgdgdgggd}ttjj djdggd | }|j d y) Nr.r1bazr)r/twothreelevelscodesnamesrGabcd)rrrWr )rrnprandom default_rngr)r!midxdfs r)test_groupby_cornerz"TestMultiLevel.test_groupby_cornerVspGeWug.3aS/)   YY " "1 % , ,Q / 0(   !r8ctjgd}tgdgdg|}|jd|jj d}d}t jt| 5|jdd }dddj}|jd d gk(jsJy#1swY;xYw)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%%   *,ABD Qff!fnRZZ^^,JKL;  ' ' S A 3kkqk2G 34,.33555 3 3s 7CCc|}|ddj}|d|d<t|jtsJ|d|dk(j sJy)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_columnsysX> !WYYZ.;"**j111;2j>166888r8c8tgdtjgd}tgdtjgd}||z }|jj |j}|j ||j |z }t j|||ddd|dddz }|jj |j}|j ||j |z }t j||y)N)r rGr,))rr )rrGBr,datar)r\rnro))Zr )rrGr)rrrxrunionrrr)r!rJyres exp_indexexps r)test_alignmentzTestMultiLevel.test_alignments *"8"89W"X  *"8"89W"X !eGGMM!''* ii "QYYy%99 sC("g$B$GGMM!''* ii "QYYy%99 sC(r8c(|}|jddgj}|jjd}|jjd}|j||gj}t j ||d|jj |jj ddk(sJ|j|jj ddj}t j ||y)Nrr r FrrG)rmeanrrMrrr[)r!r"r#r%k1k2r&result2s r)test_groupby_multilevelz&TestMultiLevel.test_groupby_multilevels=Aq6*//1 YY ' ' * YY ' ' *;;Bx(--/ fhEB||!!SYY__Ra%8888++CIIOOBQ$7+8==? fg.r8ctjgd}ttjj dj d||}|jd|d<|j}y)N)r-)r.rVr0)r1rVrG)r\r\)rrr )Totals) rrxrrbrcrdstandard_normalr _consolidate)r!rrfs r)test_multilevel_consolidatez*TestMultiLevel.test_multilevel_consolidatesc&& L  II ! !! $ 4 4V *((>*!9!11!4 fh/ gx0= ) )s K--K7c&|}|jddgd}|jgd}tj|||jjddgdd}tj||j|j ddg}tj|||dj ddg}tj ||d|jj ddddgf}tj||jy) Nr.rrr )rr rGrprqrrr rwr)rr2rrr r3r)r!r4r5r%r&s r)$test_reindex_level_partial_selectionz3TestMultiLevel.test_reindex_level_partial_selections0u~Q7::01 fh/%aqA fhjj1E5>* fh/s/ vx}5Q./ fhjj1r8rar\cgd}tdgdgdg|gd}||jdk(j|}|jj}t dgdgdgggggggd}t j||y)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? @ rttqyM ! !* -C!qc?2r2,o  fh/r8cgd}gd}tj|ddg}t||}|j|jj }t |dk(sJy)N))60080920061231r20070331)r20070630r)demorrrSTK_IDRPT_Date)r[rr,)rrxrrrrlen)r!idx_tpdtidxrOr%s r)test_duplicate_groupby_issuesz,TestMultiLevel.test_duplicate_groupby_issuess`  .$$VHj3IJ 2S !177#))+6{ar8c$ddgg}ddtjfdg}t|tj|}|j j j}|j jj }tj||y)NrJr r^r_)r^r`r;) rbnanrrrxdtypesr^r_rr)r!rrrfr&r%s r)test_subsets_multiindex_dtypez,TestMultiLevel.test_subsets_multiindex_dtypeskazbff%7 tZ%;%;G%D E99;;== vx0r8c *dtjdddfddddtjdddfdd ddtjdddfdd ddtjdddfdd di}tj|d }gdgdd}gdtjdddtjdddtjdddtjdddgg}t||}t j ||y)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>!(89  dAq) dAq) dAq) dAq)   $e4 fh/r8c Xtdtjddggdgdggdjdd g}d |jd <tdtjddggdgddd tjd gggdjdd g}t j ||y) 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 bffdD)&'  =   )Y * + &)!"bffdD)&'c2663'   =  )Y * +  b(+r8N)__name__ __module__ __qualname__r*r7rBrSrgr|rrrrrrrmark parametrizerrrrrrHr8r)rrs}023/2 D "6*9)(/".1`2& [[S1c(+ 0, 0  10,,r8rceZdZdZdZy) TestSortedz+everything you wanted to test about sortingctgdgdggdgdg}tdtt|i|d}|jj dusJ|j }|jj d usJtdgd itjgd d}|jtjd d ddfddf}tj||y)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 o .1CEW0X uSX/s' Jxx//5888||33t;;; L !((@  BMM#c'3s7*:;Q>? fh/r8N)rrr__doc__rrHr8r)rrJs 50r8r)rnumpyrbrpandasrrrrpandas._testing_testingrrrrHr8r)rs7  x,x,v 00r8