
    A>iD              
          S SK J r   S SKrS SKrS SKJr  S SKJrJrJ	r	  S SK
Jr  S SKJr  \R                  R!                  S5      r\R                  R%                  S\R&                  " S\R(                  " S S	5      05      \R*                  " \R(                  " S S	5      SS
9/5      S 5       rS rS r\R                  R%                  S\\R&                  /5      S 5       rg)    )datetimeN)Pandas4Warning)	DataFrameIndexSeries)get_groupby_method_argszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjA
   namec                    [        U [        5      (       a  US;   a  [        R                  " SU 35        U R	                  [
        R                  " SS5      5      n[        UR                  S5      [        U 5      5      (       d   e[        X5      nUS:X  a  [        OS n[        U5      R                   S3n[        R                  " XES9   [        X!5      " U6 nS S S 5        [        R                  " XES9   UR                  " U/UQ76 nS S S 5        1 Skn[        U [         5      (       a'  X;   a"  [        W[        R"                  5      (       d   eO[        W[        U 5      5      (       d   e[        U[         5      (       a  [        R$                  " UW5        g [        R&                  " UW5        g ! , (       d  f       N= f! , (       d  f       N= f)	N>   corrwithzNot applicable for Series and r   r   r   z.corrwith is deprecated)match>   sizengroupcumcount)
isinstancer   pytestskipgroupbynparange	get_grouptyper   r   __name__tmassert_produces_warninggetattraggr   SubclassedSeriesassert_frame_equalassert_series_equal)	r	   groupby_funcgroupedargswarnmsgresult1result2slicess	            i/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/groupby/test_groupby_subclass.pytest_groupby_preserves_subclassr-      si    #v<<#?4\NCDkk"))Ar*+G g''*DI6666"<5D)Z7>TD']##$$;
<C		#	#D	4'0$7 
5		#	#D	4++l2T2 
5 ,F#y!!l&<'2#6#67777'49---- '9%%
gw/
w0! 
5	4	4	4s   F36G3
G
Gc                     [         R                  " / SQ/ SQ/ SQS.5      n SU R                  ;   d   eSU l        U R	                  S5       H  u  pUR                  S:X  a  M   e   S nU R	                  S5      R                  U5      n[         R                  " S/S	-  [        / SQSS
9S9n[         R                  " XE5        U R	                  S5      R                  U5      n[         R                  " XE5        U R	                  S5      SS/   R                  U5      n[         R                  " XE5        S n[         R                  " / SQ5      nSUl        UR	                  U S   5      R                  U5      n[         R                  " XE5        UR	                  U S   5      R                  U5      n[         R                  " XE5        g )N         r0   r0   r1         	   abctestattrhellor;   c                     [        U [        R                  5      (       d   e[        U S5      (       d   eU R                  S:X  d   eU R                  $ Nr<   r=   )r   r   SubclassedDataFramehasattrr<   groups    r,   func-test_groupby_preserves_metadata.<locals>.funcG   sJ    %!7!78888uj))))~~(((~~    r2   r   )indexr9   r:   c                     [        U [        R                  5      (       d   e[        U S5      (       d   eU R                  $ )Nr<   )r   r   r!   rA   r<   rB   s    r,   func2.test_groupby_preserves_metadata.<locals>.func2X   s8    %!4!45555uj))))~~rF   )
r   r@   	_metadatar<   r   applyr!   r   r#   r    )	custom_df_group_dfrD   resultexpectedrI   custom_seriess           r,   test_groupby_preserves_metadatarS   >   s   &&YYY'WXI,,,,, I ((-  G+++ . s#))$/F""G9q=ic8RSH6,s#))$/F6, s#S#J/55d;F6,
 ''	2M$M""9S>288?F6,""9S>266u=F6,rF   c                     [         R                  " / SQ/ SQ/ SQS.5      n SU l        S nU R                  S5      R	                  U5      n[        US5      (       d   S	5       eUR                  S:X  d   e[         R                  " / SQ5      nSUl        S
 nUR                  U S   5      R	                  U5      n[        US5      (       d   S5       eUR                  S:X  d   eg )Nr/   r3   r4   r8   r=   c                     [        U [        R                  5      (       d   e[        U S5      (       d   eU R                  S:X  d   eU R                  5       $ r?   )r   r   r@   rA   r<   sumrB   s    r,   sum_func7test_groupby_apply_preserves_metadata.<locals>.sum_funcj   sL    %!7!78888uj))))~~(((yy{rF   r;   r<   z*DataFrame apply() should preserve metadatac                     [        U [        R                  5      (       d   e[        U S5      (       d   eU R                  S:X  d   eU R                  5       $ r?   )r   r   r!   rA   r<   rV   rB   s    r,   sum_series_func>test_groupby_apply_preserves_metadata.<locals>.sum_series_funcw   sL    %!4!45555uj))))~~(((yy{rF   z'Series apply() should preserve metadata)r   r@   r<   r   rL   rA   r!   )rM   rW   rP   rR   rZ   s        r,   %test_groupby_apply_preserves_metadatar\   e   s    &&YYY'WXI I s#))(3F6:&&T(TT&??g%%%''	2M$M ""9S>288IF6:&&Q(QQ&??g%%%rF   c                    U " [        SR                  5       [        S9/ SQ[        SSSSS5      [        SSSSS	5      [        SS
SSS5      [        SS
SS
S5      [        SSSSS5      [        SSSSS5      /S.5      nUR	                  S5      nUR                  S5      R                  S5      R                  5       n[        X 5      (       d   eg )NzCarl Carl Carl Carl Joe Carl)dtype)   r2      r0   r7   r2   i  r7   r0      r   r`   r      r2      r1      )BuyerQuantityDaterg   re   5D)	r   splitobjectr   	set_indexr   resamplerV   r   )r	   dfrP   s      r,   (test_groupby_resample_preserves_subclassrn      s     
:@@B&Q+q!R+q!R+r1b!,r1b!,r1b!,q!R+	

B 
f	B ZZ ))$/335Ff""""rF   )r   numpyr   r   pandas.errorsr   pandasr   r   r   pandas._testing_testingr   pandas.tests.groupbyr   markfilterwarnings
pytestmarkparametrizer@   r   r!   r-   rS   r\   rn    rF   r,   <module>rz      s       ( 
  8[[''S

 	
RYYq"%567
BIIa,3711D$-N&: B,B,B CD# E#rF   