
    MhA                         S SK r S SKrS SKJrJrJrJr  S SKrS SK	J
r  \R                  R                  S5       " S S5      5       rg)    N)is_bool_dtypeis_numeric_dtypeis_object_dtypeis_string_dtypez@ignore:The default of observed=False is deprecated:FutureWarningc                       \ rS rSrSrS r\R                  R                  SSS/5      S 5       r	S r
S	 rS
 rS rS rS rSrg)BaseGroupbyTests   zGroupby-specific tests.c                    [         R                  " [         R                  " / SQ[        S9US.5      nUR	                  S5      R
                  R                  S   nUR	                  S5      R
                  R                  S   n[        R                  " UR                  UR                  R                  5        [        R                  " UR                  U5        g )N)Br   NNAr   r   C)dtyper   r   r   r   r   )pd	DataFrameSeriesobjectgroupby_grouper	groupingstmassert_numpy_array_equalgrouping_vectorr   valuesassert_extension_array_equal)selfdata_for_groupingdfgr1gr2s        U/var/www/html/env/lib/python3.13/site-packages/pandas/tests/extension/base/groupby.pytest_grouping_grouper&BaseGroupbyTests.test_grouping_grouper   s    \\YY>f '	
 jjo&&003jjo&&003
##C$7$7E
''(;(;=NO    as_indexTFc                    [         R                  " / SQUS.5      nUR                  R                  nU(       a  UR                  S S nUR                  SUS9R                  R                  5       n[         R                  " USS9u  pg/ SQnU(       a  US S nU(       aA  [         R                  " USS	9n	[         R                  " XS
S9n
[        R                  " XZ5        g [         R                  " XxS.5      n
[        R                  " XZ5        g )N   r(      r)      r*   r(      r   r   )r%   Tsort)      @      ?      @namer   indexr3   )r   r   )r   r   r   _is_booleanilocr   r   mean	factorizeIndexr   r   assert_series_equalassert_frame_equal)r   r%   r   r   is_boolresult_uniquesexp_valsr5   expecteds              r!   test_groupby_extension_agg+BaseGroupbyTests.test_groupby_extension_agg%   s    \\ 8?PQR#))55 "BC(355::<\\"3$?
"}HHHW3/EyySAH""64||'$ABH!!&3r$   c                    [         R                  " / SQUS.5      nUR                  / SQ   nUR                  S5      nUR	                  S5      R                  SS05      n[        R                  " XC5        UR	                  S5      R                  S5      n[        R                  " XC5        UR	                  S5      R                  5       n[        R                  " XC5        g )Nr'   r   )r   r)   r+      r   r   first)	r   r   r7   	set_indexr   aggr   r<   rG   )r   r   r   rB   r>   s        r!   test_groupby_agg_extension+BaseGroupbyTests.test_groupby_agg_extension=   s    \\ 8?PQR77<(%%c*C$$c7^4
f/C$$W-
f/C&&(
f/r$   c                    [         R                  " / SQUS.5      nUR                  R                  nU(       a  UR                  S S nUR                  SSS9R                  R                  5       n[         R                  " USS9u  pV[         R                  " USS9n/ SQnU(       a  US S n[         R                  " XvS	S
9n[        R                  " XH5        g )Nr'   r   r,   r   Fr-   r2   )r0   r/   r1   r   r4   )r   r   r   r6   r7   r   r   r8   r9   r:   r   r   r;   )	r   r   r   r=   r>   r?   r5   rA   rB   s	            r!   test_groupby_extension_no_sort/BaseGroupbyTests.test_groupby_extension_no_sortM   s    \\ 8?PQR#))55 "BCe,..335<< 1>S)"}H99X=
v0r$   c                    UR                   R                  nXR                  5       )    n[        R                  " / SQUS.5      nUR                   R                  nU(       a  UR
                  S S nUR                  S5      R                  R                  [        5      n[        R                  " / SQSS9nU(       a  US S n[        R                  " XV5        g )N)r(   r(   r*   r*   r(   r+   r   r,   r   )r*   r*   r)   r)   r*   r(   r   r2   )r   r6   isnar   r   r7   r   r   	transformlenr   r   r;   )r   r   r=   validr   r>   rB   s          r!    test_groupby_extension_transform1BaseGroupbyTests.test_groupby_extension_transform`   s    #))55!#9#9#;";<\\ 2?@#))55 "BC"",,S199/c:}H
v0r$   c                 6   [         R                  " / SQUS.5      nSn[        R                  " [        US9   UR                  SSSS9R                  U5        S S S 5        UR                  SSSS9R                  R                  U5        Sn[        R                  " [        US9   UR                  SSSS9R                  U5        S S S 5        UR                  SSSS9R                  R                  U5        g ! , (       d  f       N= f! , (       d  f       NJ= f)	Nr'   r   z7DataFrameGroupBy.apply operated on the grouping columnsmatchr   F)
group_keysobservedr   )	r   r   r   assert_produces_warningDeprecationWarningr   applyr   r   )r   r   groupby_apply_opr   msgs        r!   test_groupby_extension_apply-BaseGroupbyTests.test_groupby_extension_applyr   s    \\ 8?PQRG''(:#FJJsuuJ=CCDTU G


355
9;;AABRSG''(:#FJJsuuJ=CCDTU G


355
9;;AABRS GF GFs   !C9%!D
9
D

Dc                 0   [         R                  " / SQUS.5      nUR                  S5      R                  R	                  S 5      n[         R
                  " UR                  R                  / SQ   R                  UR                  R                  SS/   R                  UR                  R                  SS	/   R                  UR                  R                  S
/   R                  /[         R                  " / SQSS9SS9n[        R                  " X45        g )Nr'   r   r   c                     U R                   $ )N)array)xs    r!   <lambda>>BaseGroupbyTests.test_groupby_apply_identity.<locals>.<lambda>   s    177r$   )r   r(      r)   r*   r+      rF   )r(   r)   r*   r+   r2   r   r4   )r   r   r   r   r]   r   r7   rd   r:   r   r;   )r   r   r   r>   rB   s        r!   test_groupby_apply_identity,BaseGroupbyTests.test_groupby_apply_identity}   s    \\ 8?PQRC""(():;99		)$**		1a&!''		1a&!''		1#$$	 ((<c2	
 	v0r$   c                 >   [         R                  " / SQU/ SQS.5      nUR                  n[        U5      (       dP  [	        U5      (       d@  UR
                  S:X  d0  [        U5      (       d   [        U5      (       d  UR                  S:X  aB  [         R                  " SS/5      nUR                  S5      R                  5       R                  nO[         R                  " S/5      nS	R                  S
[        R                  " SU 35      /5      n[         R"                  " [$        US9   UR                  S5      R                  5         S S S 5        UR                  S5      R                  SS9R                  n[&        R(                  " XT5        g ! , (       d  f       NM= f)Nr'   )r(   r(   r(   r(   r(   r(   r(   r(   )r   r   r   decimalmr   r   r   |zdoes not support sum operationsz%agg function failed [how->sum,dtype->rW   T)numeric_only)r   r   r   r   r   r3   r   r   kindr:   r   sumcolumnsjoinreescapepytestraises	TypeErrorr   assert_index_equal)r   r   r   r   rB   r>   r_   s          r!   test_in_numeric_groupby(BaseGroupbyTests.test_in_numeric_groupby   s9   \\-&-
 "''U##U##zzY&u%%u%%zzS xxc
+HZZ_((*22FxxH(( 6II EeWMN	C y4

3##% 5ZZ_((d(;CCF
f/ 54s   ' F
F N)__name__
__module____qualname____firstlineno____doc__r"   rw   markparametrizerC   rJ   rM   rT   r`   rj   r{   __static_attributes__r}   r$   r!   r   r      sU     "P [[Z$74 84.0 1&1$	T1"0r$   r   )ru   rw   pandas.core.dtypes.commonr   r   r   r   pandasr   pandas._testing_testingr   r   filterwarningsr   r}   r$   r!   <module>r      sK    	     F[0 [0[0r$   