
    PiD              
          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                            d          Ze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                            deej        g          d             ZdS )    )datetimeN)Pandas4Warning)	DataFrameIndexSeries)get_groupby_method_argszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjA
   namec                    t          | t                    r|dv rt          j        d|            |                     t          j        dd                    }t          |                    d          t          |                     sJ t          ||           }|dk    rt          nd }t          |          j         d}t          j        ||          5   t          ||          | }d d d            n# 1 swxY w Y   t          j        ||          5   |j        |g|R  }d d d            n# 1 swxY w Y   h d}t          | t                     r!||v rt          |t          j                  sJ nt          |t          |                     sJ t          |t                     rt          j        ||           d S t          j        ||           d S )	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	            ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/groupby/test_groupby_subclass.pytest_groupby_preserves_subclassr-      sh    #v E<<#?#?C\CCDDDkk")Ar**++G g''**DII66666"<55D)Z77>>TD']]#
<
<
<C		#D	4	4	4 8 80''<00$78 8 8 8 8 8 8 8 8 8 8 8 8 8 8		#D	4	4	4 3 3'+l2T2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ,++F#y!! .lf&<&<'2#6777777'499----- '9%% 1
gw/////
w00000s$   C77C;>C;D33D7:D7c                     t          j        g dg dg dd          } d| j        v sJ d| _        |                     d          D ]\  }}|j        dk    sJ d }|                     d                              |          }t          j        dgd	z  t          g dd
                    }t          j        ||           |                     d                              |          }t          j        ||           |                     d          ddg                             |          }t          j        ||           d }t          j        g d          }d|_        |                    | d                                       |          }t          j        ||           |                    | d                   	                    |          }t          j        ||           d S )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   sL    %!788888uj)))))~((((~    r2   r   )indexr9   r:   c                 l    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   s9    %!455555uj)))))~rE   )
r   r@   	_metadatar<   r   applyr!   r   r#   r    )	custom_df_group_dfrD   resultexpectedrH   custom_seriess           r,   test_groupby_preserves_metadatarQ   >   s   &YYYYYYYYY'W'WXXI,,,,, I ((-- , ,8 G+++++   s##))$//F"G9q=iiic8R8R8RSSSH68,,,s##))$//F68,,, s##S#J/55d;;F68,,,  
 '			22M$M""9S>2288??F68,,,""9S>2266u==F68,,,,,rE   c                     t          j        g dg dg dd          } d| _        d }|                     d                              |          }t          |d          s
J d	            |j        dk    sJ t          j        g d          }d|_        d
 }|                    | d                                       |          }t          |d          s
J d            |j        dk    sJ d S )Nr/   r3   r4   r8   r=   c                     t          | t          j                  sJ t          | d          sJ | j        dk    sJ |                                 S r?   )r   r   r@   rA   r<   sumrB   s    r,   sum_funcz7test_groupby_apply_preserves_metadata.<locals>.sum_funcj   sR    %!788888uj)))))~((((yy{{rE   r;   r<   z*DataFrame apply() should preserve metadatac                     t          | t          j                  sJ t          | d          sJ | j        dk    sJ |                                 S r?   )r   r   r!   rA   r<   rT   rB   s    r,   sum_series_funcz>test_groupby_apply_preserves_metadata.<locals>.sum_series_funcw   sR    %!455555uj)))))~((((yy{{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   &YYYYYYYYY'W'WXXI I   s##))(33F6:&&TT(TTT&?g%%%%'			22M$M   ""9S>2288IIF6:&&QQ(QQQ&?g%%%%%%rE   c                     | t          d                                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          }|                    d          }|                    d                              d                                          }t          ||           sJ d S )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B&QQQ+++q!R++q!R++r1b!,,r1b!,,r1b!,,q!R++	
 	

 
B 
f		B ZZ  ))$//3355Ffc"""""""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 8 8 8 8 8[''S 

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