gL i7ddlZddlZddlmZmZmZmZddlZddl m Z ejjdGddZy)N) is_bool_dtypeis_numeric_dtypeis_object_dtypeis_string_dtypez@ignore:The default of observed=False is deprecated:FutureWarningceZdZdZdZej jdddgdZdZ dZ d Z d Z d Z d Zy )BaseGroupbyTestszGroupby-specific tests.ctjtjgdt|d}|j dj j d}|j dj j d}tj|j|jjtj|j|y)N)Br NNAr r C)dtyper r r rr ) pd DataFrameSeriesobjectgroupby_grouper groupingstmassert_numpy_array_equalgrouping_vectorr valuesassert_extension_array_equal)selfdata_for_groupingdfgr1gr2s i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/extension/base/groupby.pytest_grouping_grouperz&BaseGroupbyTests.test_grouping_groupers \\YY>f'   jjo&&003jjo&&003 ##C$7$7E ''(;(;=NOas_indexTFctjgd|d}|jj}|r|jdd}|j d|j j}tj|d\}}gd}|r|dd}|rFtj|d } tj|| d } tj|| ytj||d } tj|| y) Nr&r'r(r&rr )r#Tsort)@?@namer indexr1)r r )rrr _is_booleanilocrr mean factorizeIndexrrassert_series_equalassert_frame_equal) rr#rris_boolresult_uniquesexp_valsr3expecteds r test_groupby_extension_aggz+BaseGroupbyTests.test_groupby_extension_agg%s \\ 8?PQ R#))55 "BC(355::<\\"3$? 7" }H HHW3/EyySAH  " "68 4||'$ABH  ! !&( 3r"ctjgd|d}|jgd}|jd}|j dj ddi}t j|||j dj d}t j|||j dj}t j||y)Nr%r)rr'r)r r first) rrr5 set_indexraggrr:rD)rrrr@r<s r test_groupby_agg_extensionz+BaseGroupbyTests.test_groupby_agg_extension=s \\ 8?PQ R77<(%%c*C$$c7^4 fh/C$$W- fh/C&&( fh/r"ctjgd|d}|jj}|r|jdd}|j ddj j}tj|d\}}tj|d}gd}|r|dd}tj||d }tj||y) Nr%rr*r Fr+r0)r.r-r/r r2) rrr r4r5rr r6r7r8rrr9) rrrr;r<r=r3r?r@s r test_groupby_extension_no_sortz/BaseGroupbyTests.test_groupby_extension_no_sortMs \\ 8?PQ R#))55 "BCe,..335<< 1>5S)" }H99XU= vx0r"c|jj}||j}tjgd|d}|jj}|r|j dd}|j djjt}tjgdd}|r|dd}tj||y)N)r&r&r(r(r&r)rr*r )r(r(r'r'r(r&r r0) r r4isnarrr5rr transformlenrrr9)rrr;validrr<r@s r test_groupby_extension_transformz1BaseGroupbyTests.test_groupby_extension_transform`s#))55!#4#9#9#;";< \\ 2? @#))55 "BC"",,S199/c: }H vx0r"c@tjgd|d}d}tjt|5|j dddj |ddd|j dddjj |d}tjt|5|j dddj |ddd|j dddjj |y#1swYxYw#1swYCxYw) Nr%rz7DataFrameGroupBy.apply operated on the grouping columnsmatchr F) group_keysobservedr ) rrrassert_produces_warning FutureWarningrapplyr r )rrgroupby_apply_oprmsgs r test_groupby_extension_applyz-BaseGroupbyTests.test_groupby_extension_applyrs \\ 8?PQ RG  ' ' S A V JJsuuJ = C CDT U V 355 9;;AABRSG  ' ' S A V JJsuuJ = C CDT U V 355 9;;AABRS  V V V Vs$D.$DDDc6tjgd|d}|jdjj d}tj |jj gdj|jj ddgj|jj dd gj|jj d gjgtjgd d d }tj||y)Nr%rr c|jS)N)array)xs r z>BaseGroupbyTests.test_groupby_apply_identity..s 177r")rr&r'r(r)rC)r&r'r(r)r0r r2) rrrr rWrr5r]r8rr9)rrrr<r@s r test_groupby_apply_identityz,BaseGroupbyTests.test_groupby_apply_identity}s \\ 8?PQ RC""(():;99 )$** 1a&!'' 1a&!'' 1#$$   ((sum,dtype->rQT) numeric_only)rrr rrr1rrkindr8rsumcolumnsjoinreescapepytestraises TypeErrorrassert_index_equal)rrrr r@r<rYs r test_in_numeric_groupbyz(BaseGroupbyTests.test_in_numeric_groupbys6 \\-&-  "'' U #U#zzY&u%u%zzS xxc +HZZ_((*22FxxH((6II EeWMN Cy4 & 3##% &ZZ_((d(;CCF fh/ & &s  E99FN)__name__ __module__ __qualname____doc__r!rnmark parametrizerArGrIrOrZrbrrr"r rrsU" P [[Z$7484.0 1&1$ T 1"0r"r)rlrnpandas.core.dtypes.commonrrrrpandasrpandas._testing_testingrrwfilterwarningsrryr"r rsK F[0[0[0r"