Ë
    ž…jD  ã            
       óÊ  — d dl m Z  d dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZ ej                  j!                  d«      Zej                  j%                  d ej&                  d ej(                  d d	«      i«       ej*                   ej(                  d d	«      d¬
«      g«      d„ «       Zd„ Zd„ Zej                  j%                  deej&                  g«      d„ «       Zy)é    )ÚdatetimeN)ÚPandas4Warning)Ú	DataFrameÚIndexÚSeries)Úget_groupby_method_argszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningÚobjÚAé
   ©Únamec                 óX  — t        | t        «      r|dv rt        j                  d|› �«       | j	                  t        j                  dd«      «      }t        |j                  d«      t        | «      «      sJ ‚t        || «      }|dk(  rt        nd }t        |«      j                  › d�}t        j                  ||¬«      5   t        ||«      |Ž }d d d «       t        j                  ||¬«      5   |j                  |g|¢­Ž }d d d «       h d£}t        | t         «      r ||v rt        t        j"                  «      sJ ‚t        t        | «      «      sJ ‚t        |t         «      rt        j$                  |«       y t        j&                  |«       y # 1 sw Y   ŒÅxY w# 1 sw Y   ŒžxY w)	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	            úk/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/groupby/test_groupby_subclass.pyÚtest_groupby_preserves_subclassr-      su  € ô �#”vÔ <°<Ñ#?Ü�‰Ð4°\°NÐCÔDà�k‰kœ"Ÿ)™) A rÓ*Ó+€Gô �g×'Ñ'¨Ó*¬D°«IÔ6Ð6Ð6ä" <°Ó5€Dà)¨ZÒ7�>¸T€DÜ�'‹]×#Ñ#Ð$Ð$;Ð
<€CÜ	×	#Ñ	# D°Ô	4ñ 8Ø0”'˜' <Ó0°$Ð7ˆ÷8ä	×	#Ñ	# D°Ô	4ñ 3Ø�'—+‘+˜lÐ2¨TÒ2ˆ÷3ò ,€FÜ�#”yÔ! l°fÑ&<Ü˜'¤2×#6Ñ#6Ô7Ð7Ð7ä˜'¤4¨£9Ô-Ð-Ð-ô �'œ9Ô%Ü
×Ñ˜g wÕ/ä
×Ñ˜w¨Õ0÷!8ð 8ú÷3ð 3ús   Ã FÃ/F ÆFÆ F)c                  óŽ  — t        j                  g d¢g d¢g d¢dœ«      } d| j                  v sJ ‚d| _        | j	                  d«      D ]  \  }}|j                  dk(  rŒJ ‚ d„ }| j	                  d«      j                  |«      }t        j                  dgd	z  t        g d¢d¬
«      ¬«      }t        j                  ||«       | j	                  d«      j                  |«      }t        j                  ||«       | j	                  d«      ddg   j                  |«      }t        j                  ||«       d„ }t        j                  g d¢«      }d|_        |j	                  | d   «      j                  |«      }t        j                  ||«       |j	                  | d   «      j                  |«      }t        j                  ||«       y )N©é   é   é   ©r0   r0   r1   ©é   é   é	   ©ÚaÚbÚcÚtestattrÚhellor;   c                 ó�   — t        | t        j                  «      sJ ‚t        | d«      sJ ‚| j                  dk(  sJ ‚| j                  S ©Nr<   r=   )r   r   ÚSubclassedDataFrameÚhasattrr<   ©Úgroups    r,   Úfuncz-test_groupby_preserves_metadata.<locals>.funcG   sD   € Ü˜%¤×!7Ñ!7Ô8Ð8Ð8Ü�u˜jÔ)Ð)Ð)Ø�~‰~ Ò(Ð(Ð(Ø�~‰~Ðó    r2   r   )Úindexr9   r:   c                 ón   — t        | t        j                  «      sJ ‚t        | d«      sJ ‚| j                  S )Nr<   )r   r   r!   rA   r<   rB   s    r,   Úfunc2z.test_groupby_preserves_metadata.<locals>.func2X   s2   € Ü˜%¤×!4Ñ!4Ô5Ð5Ð5Ü�u˜jÔ)Ð)Ð)Ø�~‰~ÐrE   )
r   r@   Ú	_metadatar<   r   Úapplyr!   r   r#   r    )Ú	custom_dfÚ_Úgroup_dfrD   ÚresultÚexpectedrH   Úcustom_seriess           r,   Útest_groupby_preserves_metadatarQ   >   s–  € ä×&Ñ&ªYºYÊYÑ'WÓX€IØ˜×,Ñ,Ñ,Ð,Ð,Ø €IÔØ ×(Ñ(¨Ó-ò ,‰ˆˆ8Ø× Ñ  GÓ+Ð+Ð+ð,òð ×Ñ˜sÓ#×)Ñ)¨$Ó/€FÜ×"Ñ" G 9¨q¡=¼ºiÈcÔ8RÔS€HÜ×Ñ˜6 8Ô,à×Ñ˜sÓ#×)Ñ)¨$Ó/€FÜ×Ñ˜6 8Ô,ð ×Ñ˜sÓ# S¨# JÑ/×5Ñ5°dÓ;€FÜ×Ñ˜6 8Ô,òô
 ×'Ñ'ª	Ó2€MØ$€MÔØ×"Ñ" 9¨S¡>Ó2×8Ñ8¸Ó?€FÜ×Ñ˜6 8Ô,Ø×"Ñ" 9¨S¡>Ó2×6Ñ6°uÓ=€FÜ×Ñ˜6 8Õ,rE   c                  ó®  — t        j                  g d¢g d¢g d¢dœ«      } d| _        d„ }| j                  d«      j	                  |«      }t        |d«      sJ d	«       ‚|j                  dk(  sJ ‚t        j                  g d¢«      }d|_        d
„ }|j                  | d   «      j	                  |«      }t        |d«      sJ d«       ‚|j                  dk(  sJ ‚y )Nr/   r3   r4   r8   r=   c                 ó˜   — t        | t        j                  «      sJ ‚t        | d«      sJ ‚| j                  dk(  sJ ‚| j                  «       S r?   )r   r   r@   rA   r<   ÚsumrB   s    r,   Úsum_funcz7test_groupby_apply_preserves_metadata.<locals>.sum_funcj   sF   € Ü˜%¤×!7Ñ!7Ô8Ð8Ð8Ü�u˜jÔ)Ð)Ð)Ø�~‰~ Ò(Ð(Ð(Ø�y‰y‹{ÐrE   r;   r<   z*DataFrame apply() should preserve metadatac                 ó˜   — t        | t        j                  «      sJ ‚t        | d«      sJ ‚| j                  dk(  sJ ‚| j                  «       S r?   )r   r   r!   rA   r<   rT   rB   s    r,   Úsum_series_funcz>test_groupby_apply_preserves_metadata.<locals>.sum_series_funcw   sF   € Ü˜%¤×!4Ñ!4Ô5Ð5Ð5Ü�u˜jÔ)Ð)Ð)Ø�~‰~ Ò(Ð(Ð(Ø�y‰y‹{ÐrE   z'Series apply() should preserve metadata)r   r@   r<   r   rJ   rA   r!   )rK   rU   rN   rP   rW   s        r,   Ú%test_groupby_apply_preserves_metadatarX   e   sÑ   € ä×&Ñ&ªYºYÊYÑ'WÓX€IØ €IÔòð ×Ñ˜sÓ#×)Ñ)¨(Ó3€FÜ�6˜:Ô&ÐTÐ(TÓTÐ&Ø�?‰?˜gÒ%Ð%Ð%ä×'Ñ'ª	Ó2€MØ$€MÔòð ×"Ñ" 9¨S¡>Ó2×8Ñ8¸ÓI€FÜ�6˜:Ô&ÐQÐ(QÓQÐ&Ø�?‰?˜gÒ%Ð%Ñ%rE   c                 óœ  —  | t        dj                  «       t        ¬«      g d¢t        ddddd«      t        ddddd	«      t        dd
ddd«      t        dd
dd
d«      t        ddddd«      t        ddddd«      gdœ«      }|j	                  d«      }|j                  d«      j                  d«      j                  «       }t        || «      sJ ‚y )NzCarl Carl Carl Carl Joe Carl)Údtype)é   r2   é   r0   r7   r2   iÝ  r7   r0   é   r   r\   r   é   r2   é   r1   é   )ÚBuyerÚQuantityÚDaterc   ra   Ú5D)	r   ÚsplitÚobjectr   Ú	set_indexr   ÚresamplerT   r   )r	   ÚdfrN   s      r,   Ú(test_groupby_resample_preserves_subclassrj   ‚   sÓ   € ñ 
äÐ:×@Ñ@ÓBÌ&ÔQÚ+ä˜˜q ! R¨Ó+Ü˜˜q ! R¨Ó+Ü˜˜r 1 b¨!Ó,Ü˜˜r 1 b¨!Ó,Ü˜˜r 1 b¨!Ó,Ü˜˜q ! R¨Ó+ðñ	
ó
€Bð 
�‰�fÓ	€Bð �Z‰Z˜Ó ×)Ñ)¨$Ó/×3Ñ3Ó5€FÜ�f˜cÔ"Ð"Ñ"rE   )r   Únumpyr   r   Úpandas.errorsr   Úpandasr   r   r   Úpandas._testingÚ_testingr   Úpandas.tests.groupbyr   ÚmarkÚfilterwarningsÚ
pytestmarkÚparametrizer@   r   r!   r-   rQ   rX   rj   © rE   r,   ú<module>rv      sã   ðÝ ã Û å (÷ñ õ
 Ý 8à�[‰[×'Ñ'ØSó€
ð
 ‡�×ÑØ	àˆ×Ñ  Y R§Y¡Y¨q°"Ó%5Ð6Ó7Øˆ×Ñ˜I˜BŸI™I a¨Ó,°3Ô7ðóñ1óð1òD$-òN&ð: ‡�×Ñ˜ ¨B×,BÑ,BÐ CÓDñ#ó Eñ#rE   