gL i1% ddlZddlZddlZddlmZejjddgdgddggdggdgdgdd d ggd gggd Z d Z ejjdddggdggdgdge dddgdgddhgdgggddZ dZdZdZejjddgdggdgdgeddeddfgdggdZdZej(dZdZdZejjdgdejjd d!d"gejjd#d$d%gd&Zejjd'gd(ejjd)gd(ejjd*gd+d,Zd-Zejjd*gd.d/Zej(d0Zd1Zd2Zejjd3eej@ejBejDgd4Z#d5Z$y)6Nzarg, expected_rows)r)rricl|j|}|j|}tj||yN_positional_selectoriloctmassert_frame_equal slice_test_dfslice_test_groupedarg expected_rowsresultexpecteds h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_indexing.pytest_intr s4 4 4S 9F!!-0H&(+cv|jddd}|jgd}tj||y)Nrrrrrrrrrrrrs r test_slicer s8  4 4QqU ;F!!,/H&(+rrrrrrrrrrr r)listnegativerangeset)idscl|j|}|j|}tj||yr rrs r test_listr)%s4" 4 4S 9F!!-0H&(+rcp|jd}|jgd}tj||y)Nr!r"rrs r test_intsr+<s3  4 4X >F!!"45H&(+rc||jddddf}|jgd}tj||y)Nrr rrrrrr r rrs r test_slicesr.Ds=  4 4RaRW =F!!"78H&(+rcz|jddddf}|jgd}tj||y)Nrrr r-rrs rtest_mixr0Ls;  4 4Q23Y ?F!!"78H&(+rr-c|jddj|}|j|}tj||y)NGroupF)sort)groupbyrrrr)rrrrrs r test_as_indexr5TsD " "7 " 7 L LS QF!!-0H&(+rctjddgddgddgddgddggdd g }|jdd }|jdd}tjddgddggdd gddg }t j |||jd}tjddgddgddggdd ggd }t j ||y)NarrrbrrABcolumnsFas_indexr<index)rr)rrr)pd DataFramer4rrr)dfgroupedrrs rtest_doc_examplesrEds  qC8c1XQx#q:S#J Bjjuj-G  ) )!A .F||c1XQx03*QPQFSH&(+  ) )% 0F|| qC8c1X&c )H&(+rc tjjd}d}d}tjd|d}t |Dcgc]}d| }}i}|D]j}||j dd z }|d|D cgc]-} | |j dd dz |j dd dz f/} } | jd | ||<l|Scc}wcc} w) Nrd20130101D)periodsfreqzitem r i'c |dS)Nr)xs rz!multiindex_data..s !A$r)key)nprandom default_rngrA date_ranger%integersr3) rngndatesnitemsdatesiitemsdatadatenitems_for_dateitemlevelss rmultiindex_datarcys ))   "C F F MM*f3 ?E"'- 0QuQC[ 0E 0 D 3<<2#66./ 3<<5)C/a1G#1M N     'T  K 1  s C :2Cci}|D]}||D]}|d|dd|||df<!tjj|d}d|j_|S)Nrr)r9r:rr@)orient)DateItem)rArB from_dictr@names)r^rowsr_levelrCs r_make_df_from_datarlsx DD$Z DE+08%(%CD$a! " DD   W  5B%BHHN Irct|}|jddjtdd}|Dcic] }|||dd }}t|}t j ||ycc}w)NrfFr=r)rlr4nthslicerr)rcrCrr_slicedrs rtest_multiindexrrss O ,B ZZZ / 3 3E!RL AF?fQCL  +, 8_ QCuQC   D d Bjj5j1G(3 03 6D --ds3 txxrs  I QC B Y aV R  , ,, Q '( q!Q& Q   ,,,,, I '( a.%D/ *,AB,,,*(, DEFF#34tUm41,55F1,h";<!:;.,/<=,"-1,2,0,%$"))RXX!FG ,H , %r